1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-17 00:03:29 +03:00
Files
apache/docs/manual/mod/mod_mem_cache.xml
Paul J. Reder c27c1eb54e Updates to the mod_mem_cache.xml file to update formatting, improve
detail and accuracy, and to align with what the code does.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97429 13f79535-47bb-0310-9956-ffa450edef68
2002-11-06 15:30:27 +00:00

157 lines
5.7 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<modulesynopsis>
<name>mod_mem_cache</name>
<description>Content cache keyed to URIs</description>
<status>Experimental</status>
<sourcefile>mod_mem_cache.c</sourcefile>
<identifier>mem_cache_module</identifier>
<summary>
<note type="warning">
This module is experimental. Documentation is still under development...
</note>
<p><module>mod_mem_cache</module> implements a memory based storage manager.
<module>mod_mem_cache</module> can be configured to operate in two modes:
caching open file descriptors or caching objects in heap storage.
<module>mod_mem_cache</module> is most useful when used to cache locally
generated content or to cache backend server content for
<module>mod_proxy</module> configured for
<directive module="mod_proxy">ProxyPass</directive> (aka <dfn>reverse proxy</dfn>)</p>
<p>Content is stored in and retrieved from the cache using URI based keys. Content with
access protection is not cached.</p>
<note><title>Note:</title>
<p><module>mod_mem_cache</module> requires the services of <module>mod_cache</module>.</p>
</note>
</summary>
<directivesynopsis>
<name>MCacheSize</name>
<description>The maximum amount of memory used by the cache in KBytes</description>
<syntax>MCacheSize <var>KBytes</var></syntax>
<default>MCacheSize 100</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>MCacheSize</directive> 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
<directive>MCacheRemovalAlgorithm</directive>.</p>
<note type="warning"><title>Note:</title>
The <directive>MCacheSize</directive> value must be greater than the value
specified by the <directive>MCacheMaxObjectSize</directive> directive.
</note>
<example>
MCacheSize 700000<br />
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>MCacheMaxObjectCount</name>
<description>The maximum number of objects allowed to be placed in the cache</description>
<syntax>MCacheMaxObjectCount <var>value</var></syntax>
<default>MCacheMaxObjectCount 1009</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>MCacheMaxObjectCount</directive> directive sets the maximum
number of objects to be cached. 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 <directive>MCacheRemovalAlgorithm</directive>.</p>
<note><title>Note:</title>
The value of <directive>MCacheMaxObjectCount</directive> is used to create
the open hash table.
</note>
<example>
MCacheMaxObjectCount 13001<br />
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>MCacheMinObjectSize</name>
<description>The minimum size (in bytes) of a document to be allowed in the
cache</description>
<syntax>MCacheMinObjectSize <var>bytes</var></syntax>
<default>MCacheMinObjectSize 0</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>MCacheMinObjectSize</directive> directive sets the minimum
size in bytes of a document for it to be considered cacheable.</p>
<example>
MCacheMinObjectSize 10000<br />
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>MCacheMaxObjectSize</name>
<description>The maximum size (in bytes) of a document allowed in the
cache</description>
<syntax>MCacheMaxObjectSize <var>bytes</var></syntax>
<default>MCacheMaxObjectSize 10000</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>MCacheMaxObjectSize</directive> directive sets the maximum
allowable size, in bytes, of a document for it to be considered cacheable.</p>
<note type="warning"><title>Note:</title>
The value of <directive>MCacheMaxObjectSize</directive> must be greater
than the value specified by the <directive>MCacheMinObjectSize</directive>
directive.
</note>
<example>
MCacheMaxObjectSize 6400000<br />
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>MCacheRemovalAlgorithm</name>
<description>The algorithm used to select documents for removal from the
cache</description>
<syntax>MCacheRemovalAlgorithm <code>LRU|GDSF</code></syntax>
<default>MCacheRemovalAlgorithm GDSF</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>MCacheRemovalAlgorithm</directive> directive specifies
the algorithm used to select documents for removal from the cache.
Two choices are available:<br />
<code>LRU</code> (Least Recently Used): <code>LRU</code> removes the
documents that have not been accessed for the longest time.<br />
<code>GDSF</code> (GreadyDual-Size): <code>GDSF</code> 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.</p>
<example>
MCacheRemovalAlgorithm GDSF<br />
MCacheRemovalAlgorithm LRU<br />
</example>
</usage>
</directivesynopsis>
</modulesynopsis>