mod_mem_cache
Content cache keyed to URIs
Experimental
mod_mem_cache.c
mem_cache_module

This module is experimental. Documentation is still under development...

mod_mem_cache implements an in-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)

mod_mem_cache requires the services of mod_cache.

Content stored and retrived keyed to the URL. Content with access protections is not cached.

MCacheSize
The maximum amount of memory used by the cache in KBytes
MCacheSize KBytes
MCacheSize 100
server config

The MCacheSize directive sets the desired space usage of the cache, in KBytes (1024-byte units). If a new entry needs to be inserted in the cache and the size of the entry is greather than the remaining size, entries will be removed until the new entry could be cached. The removed entry is decided base on the MCacheRemovalAlgorithm algorithm

The size must be greater than MCacheMaxObjectSize.

MCacheSize 700000
MCacheMaxObjectCount
The maximum number of objects allowed to be placed in the cache
MCacheMaxObjectCount value
MCacheMaxObjectCount 1009
server config

The MCacheMaxObjectCount directive sets the maximum number of objects to be cached. If a new entry needs to be inserted in the cache and the maximum number of objects is reached, an entry will be removed to allow the new entry be cached.

The size must be greater than MCacheMinObjectSize.

The value of MCacheMaxObjectCount is used to create the open hash table.

MCacheMaxObjectCount 13001
MCacheMinObjectSize
The minimum size (in bytes) of an object to be placed in the cache
MCacheMinObjectSize bytes
MCacheMinObjectSize 0
server config

The MCacheMinObjectSize directive sets the minimum size in bytes of an object to be cached.

MCacheMinObjectSize 10000
MCacheMaxObjectSize
The maximum size (in bytes) of an object to be placed in the cache
MCacheMaxObjectSize bytes
MCacheMaxObjectSize 10000
server config

The MCacheMaxObjectSize directive sets the maximum size of an object to be cached.

MCacheMaxObjectSize 6400000
MCacheRemovalAlgorithm
The algorithm used to remove entries from the cache
MCacheRemovalAlgorithm algorithm
MCacheRemovalAlgorithm GDSF
server config

The MCacheRemovalAlgorithm directive sets the algorithm used to remove entries from the cache. Two choices are available:
LRU (Least Recently Used): LRU removes the objects that have not been accessed for the longest time.
GDSF (GreadyDual-Size): This algorithm assigns priority to cached objects based on the coast of a cache miss and the size of the object. Objects with smallest priority are removed first.

MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU