Apache HTTP Server Version 2.2

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.
You may follow this link to go to the current version of this document.
| Description: | Content cache keyed to URIs | 
|---|---|
| Status: | Extension | 
| Module Identifier: | mem_cache_module | 
| Source File: | mod_mem_cache.c | 
This module requires the service of mod_cache. It acts as a support module for mod_cache and provides a memory based storage manager.
    mod_mem_cache can be configured to operate in two
    modes: caching open file descriptors or caching objects in heap storage.
    mod_mem_cache is most useful when used to cache locally
    generated content or to cache backend server content for mod_proxy configured for ProxyPass (aka reverse proxy).
Content is stored in and retrieved from the cache using URI based keys. Content with access protection is not cached.
mod_disk_cache
    should be the preferred choice. This is explained further in the Caching Guide.  In particular,
    this module's cache is per-process, which can be partially
    mitigated by configuring threaded MPMs to use fewer child processes
    via configuration of larger values for ThreadsPerChild.  This module's cache is 
    also limited to storing a single variant (see HTTP Vary: header) of each 
    resource in the cache. MCacheMaxObjectCount
 MCacheMaxObjectCount MCacheMaxObjectSize
 MCacheMaxObjectSize MCacheMaxStreamingBuffer
 MCacheMaxStreamingBuffer MCacheMinObjectSize
 MCacheMinObjectSize MCacheRemovalAlgorithm
 MCacheRemovalAlgorithm MCacheSize
 MCacheSize| Description: | The maximum number of objects allowed to be placed in the cache | 
|---|---|
| Syntax: | MCacheMaxObjectCount value | 
| Default: | MCacheMaxObjectCount 1009 | 
| Context: | server config | 
| Status: | Extension | 
| Module: | mod_mem_cache | 
The MCacheMaxObjectCount directive sets the
    maximum number of objects to be cached. The value is used to create the
    open hash table. If a new object needs to be inserted in the cache and
    the maximum number of objects has been reached, an object will be
    removed to allow the new object to be cached. The object to be removed
    is selected using the algorithm specified by MCacheRemovalAlgorithm.
      MCacheMaxObjectCount 13001
    
| Description: | The maximum size (in bytes) of a document allowed in the cache | 
|---|---|
| Syntax: | MCacheMaxObjectSize bytes | 
| Default: | MCacheMaxObjectSize 10000 | 
| Context: | server config | 
| Status: | Extension | 
| Module: | mod_mem_cache | 
The MCacheMaxObjectSize directive sets the
    maximum allowable size, in bytes, of a document for it to be considered
    cacheable.
      MCacheMaxObjectSize 6400000
    
The value of MCacheMaxObjectSize must be
      greater than the value specified by the MCacheMinObjectSize directive.
| Description: | Maximum amount of a streamed response to buffer in memory before declaring the response uncacheable | 
|---|---|
| Syntax: | MCacheMaxStreamingBuffer size_in_bytes | 
| Default: | MCacheMaxStreamingBuffer the smaller of 100000 or MCacheMaxObjectSize | 
| Context: | server config | 
| Status: | Extension | 
| Module: | mod_mem_cache | 
The MCacheMaxStreamingBuffer directive
    specifies the maximum number of bytes of a streamed response to
    buffer before deciding that the response is too big to cache.
    A streamed response is one in which the entire content is not
    immediately available and in which the Content-Length
    may not be known. Sources of streaming responses include proxied
    responses and the output of CGI scripts. By default, a streamed
    response will not be cached unless it has a
    Content-Length header. The reason for this is to
    avoid using a large amount of memory to buffer a partial response
    that might end up being too large to fit in the cache.
    The MCacheMaxStreamingBuffer directive allows
    buffering of streamed responses that don't contain a
    Content-Length up to the specified maximum amount of
    space. If the maximum buffer space is reached, the buffered
    content is discarded and the attempt to cache is abandoned.
Using a nonzero value for MCacheMaxStreamingBuffer 
      will not delay the transmission of the response to the client.
      As soon as mod_mem_cache copies a block of streamed
      content into a buffer, it sends the block on to the next output
      filter for delivery to the client.
      # Enable caching of streamed responses up to 64KB:
      MCacheMaxStreamingBuffer 65536
    
| Description: | The minimum size (in bytes) of a document to be allowed in the cache | 
|---|---|
| Syntax: | MCacheMinObjectSize bytes | 
| Default: | MCacheMinObjectSize 1 | 
| Context: | server config | 
| Status: | Extension | 
| Module: | mod_mem_cache | 
The MCacheMinObjectSize directive sets the
    minimum size in bytes of a document for it to be considered
    cacheable.
      MCacheMinObjectSize 10000
    
| Description: | The algorithm used to select documents for removal from the cache | 
|---|---|
| Syntax: | MCacheRemovalAlgorithm LRU|GDSF | 
| Default: | MCacheRemovalAlgorithm GDSF | 
| Context: | server config | 
| Status: | Extension | 
| Module: | mod_mem_cache | 
The MCacheRemovalAlgorithm directive specifies
    the algorithm used to select documents for removal from the cache.
    Two choices are available:
LRU (Least Recently Used)LRU removes the documents that have not been accessed
      for the longest time.GDSF (GreadyDual-Size)GDSF assigns a priority to cached documents based
      on the cost of a cache miss and the size of the document. Documents
      with the lowest priority are removed first.
      MCacheRemovalAlgorithm GDSF
      MCacheRemovalAlgorithm LRU
    
| Description: | The maximum amount of memory used by the cache in KBytes | 
|---|---|
| Syntax: | MCacheSize KBytes | 
| Default: | MCacheSize 100 | 
| Context: | server config | 
| Status: | Extension | 
| Module: | mod_mem_cache | 
The MCacheSize directive sets the maximum
    amount of memory to be used by the cache, in KBytes (1024-byte units).
    If a new object needs to be inserted in the cache and the size of the
    object is greater than the remaining memory, objects will be removed
    until the new object can be cached. The object to be removed is
    selected using the algorithm specified by MCacheRemovalAlgorithm.
      MCacheSize 700000
    
The MCacheSize value must be greater than
      the value specified by the MCacheMaxObjectSize directive.