the base Apache distribution:</p>
<dl>
<dt><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code></dt>
- <dd>implements a disk based storage manager for use with
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+ <dd>implements a disk based storage manager.</dd>
<dt><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code></dt>
- <dd>implements an in-memory based storage manager.
+ <dd>implements a memory based storage manager.
<code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> can be configured to operate in two
modes: caching open file descriptors or caching objects in heap storage.
- <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> is most useful when used to cache
- locally generated content or to cache backend server content for
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> configured for <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> (aka <dfn>reverse proxy</dfn>)</dd>
+ <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> can be used to cache locally generated content
+ or to cache backend server content for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> when
+ configured using <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>
+ (aka <dfn>reverse proxy</dfn>)</dd>
</dl>
- <p>Content stored and retrived keyed to the URL. Content with
- access protections is not cached.</p>
+ <p>Content is stored in and retrieved from the cache using URI based keys. Content with
+ access protection is not cached.</p>
</div><div id="quickview"><h3 class="directives">Directives</h3><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li>
LoadModule mem_cache_module modules/mod_mem_cache.so<br />
<IfModule mod_mem_cache.c><br />
<span class="indent">
- MCacheEnable mem /<br />
+ CacheEnable mem /<br />
MCacheSize 4096<br />
MCacheMaxObjectCount 100<br />
MCacheMinObjectSize 1<br />
</IfModule>
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire" id="cachedefaultexpire">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The default time in seconds to cache a document</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td>The default duration to cache a document when no expiry date is specified.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>CacheDefaultExpire <var>seconds</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheDefaultExpire 3600 (one hour)</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
- <p>The default time in seconds to cache a document if the page does not have
- an expiry date in the <code>Expires</code> field.</p>
+ <p>The <code class="directive">CacheDefaultExpire</code> directive specifies a default time,
+ in seconds, to cache a document if neither an expiry date nor last-modified date are provided
+ with the document. The value specified with the <code class="directive">CacheMaxExpire</code>
+ directive does <em>not</em> override this setting.</p>
<div class="example"><p><code>
CacheDefaultExpire 86400
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheDisable" id="CacheDisable">CacheDisable</a> <a name="cachedisable" id="cachedisable">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>Disable caching of specified URLs by specified storage
-manager</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheDisable <var>cache_type</var> <var>url-string</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td>Disable caching of specified URLs</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheDisable <var> url-string</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
<var>url-string</var>.</p>
<div class="example"><h3>Example</h3><p><code>
- CacheDisable disk /local_files
+ CacheDisable /local_files
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheEnable" id="CacheEnable">CacheEnable</a> <a name="cacheenable" id="cacheenable">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>Enable caching specified URLs in a specified storage
+ </a></th><td>Enable caching of specified URLs using a specified storage
manager</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>CacheEnable <var>cache_type</var> <var>url-string</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>mod_cache</td></tr></table>
<p>The <code class="directive">CacheEnable</code> directive instructs
<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to cache urls at or below
- <var>url-string</var>. The cache store is specified with the
- <var>cache_type</var> argument. <var>cache_type</var> <code>mem</code>
- instructs <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the in-memory cache storage
- manager implemented by <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code>.
+ <var>url-string</var>. The cache storage manager is specified with the
+ <var>cache_type</var> argument. <var>cache_type</var> <code> mem</code>
+ instructs <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the memory based storage
+ manager implemented by <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code>.
<var>cache_type</var> <code>disk</code> instructs
- <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the cache storage manager implemented
- by <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>.</p>
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the disk based storage manager
+ implemented by <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>.
+ <var>cache_type</var> <code>fd</code> instructs
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> to use the file descriptor cache implemented
+ by <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code>.</p>
+ <p>In the event that the URL space overlaps between different
+ <code class="directive">CacheEnable</code> directives (as in the example below),
+ each possible storage manager will be run until the first one that
+ actually processes the request. The order in which the storage managers are
+ run is determined by the order of the <code class="directive">CacheEnable</code>
+ directives in the configuration file.</p>
<div class="example"><p><code>
- CacheEnable disk /<br />
CacheEnable mem /manual<br />
CacheEnable fd /images<br />
+ CacheEnable disk /<br />
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheForceCompletion" id="CacheForceCompletion">CacheForceCompletion</a> <a name="cacheforcecompletion" id="cacheforcecompletion">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>Percentage of download to arrive for the cache to force
-complete transfer</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td>Percentage of document served, after which the server
+will complete caching the file even if the request is cancelled.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>CacheForceCompletion <var>Percentage</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheForceCompletion 60</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
- <p>Percentage of download to arrive for the cache to force complete transfer.</p>
+ <p>Ordinarily, if a request is cancelled while the response is being
+ cached and delivered to the client the processing of the response will
+ stop and the cache entry will be removed. The
+ <code class="directive">CacheForceCompletion</code> directive specifies a
+ threshold beyond which the document will continue to be cached to
+ completion, even if the request is cancelled.</p>
+
+ <p>The threshold is a percentage specified as a value between
+ <code>1</code> and <code>100</code>. A value of <code>0</code>
+ specifies that the default be used. A value of <code>100</code>
+ will only cache documents that are served in their entirety. A value
+ between 60 and 90 is recommended.</p>
<div class="example"><p><code>
CacheForceCompletion 80
</code></p></div>
- <div class="warning">
+ <div class="warning"><h3>Note:</h3>
This feature is currently <em>not</em> implemented.
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol" id="cacheignorecachecontrol">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>Ignore requests from the client for uncached
-content</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td>Ignore the fact that the client requested the content not be
+cached.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
- <p>Ignore requests from the client for uncached content</p>
+ <p>Ordinarily, documents with no-cache or no-store header values will not be stored in the cache.
+ The <code class="directive">CacheIgnoreCacheControl</code> directive allows this behavior to be overridden.
+ <code class="directive">CacheIgnoreCacheControl</code> On tells the server to attempt to cache the document
+ even if it contains no-cache or no-store header values. Documents requiring authorization will
+ <em>never</em> be cached.</p>
<div class="example"><p><code>
CacheIgnoreCacheControl On
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a> <a name="cacheignorenolastmod" id="cacheignorenolastmod">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>Ignore responses where there is no Last Modified
-Header</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td>Ignore the fact that a response has no Last Modified
+header.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
- <p>Ignore responses where there is no Last Modified Header.</p>
+ <p>Ordinarily, documents without a last-modified date are not cached.
+ Under some circumstances the last-modified date is removed (during
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> processing for example) or not provided
+ at all. The <code class="directive">CacheIgnoreNoLastMod</code> directive
+ provides a way to specify that documents without last-modified dates
+ should be considered for caching, even without a last-modified date.
+ If neither a last-modified date nor an expiry date are provided with
+ the document then the value specified by the
+ <code class="directive">CacheDefaultExpire</code> directive will be used to
+ generate an expiration date.</p>
<div class="example"><p><code>
CacheIgnoreNoLastMod On
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The factor used to estimate the Expires date from the
-LastModified date</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td>The factor used to compute an expiry date based on the
+LastModified date.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>CacheLastModifiedFactor <var>float</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
- <p>The factor used to estimate the Expires date from the LastModified date.</p>
+ <p>In the event that a document does not provide an expiry date but does
+ provide a last-modified date, an expiry date can be calculated based on
+ the time since the document was last modified. The
+ <code class="directive">CacheLastModifiedFactor</code> directive specifies a
+ <var>factor</var> to be used in the generation of this expiry date
+ according to the following formula:
+
+ <code>expiry-period = time-since-last-modified-date * <var>factor</var>
+ expiry-date = current-date + expiry-period</code>
+
+ For example, if the document was last modified 10 hours ago, and
+ <var>factor</var> is 0.1 then the expiry-period will be set to
+ 10*0.1 = 1 hour. If the current time was 3:00pm then the computed
+ expiry-date would be 3:00pm + 1hour = 4:00pm.
+
+ If the expiry-period would be longer than that set by
+ <code class="directive">CacheMaxExpire</code>, then the latter takes
+ precedence.</p>
<div class="example"><p><code>
CacheLastModifiedFactor 0.5
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
- <p>The maximum time in seconds to cache a document. The
- <code class="directive">CacheMaxExpire</code> takes precedence over the
- <code>Expires</code> field from the header.</p>
+ <p>The <code class="directive">CacheMaxExpire</code> directive specifies the maximum number of
+ seconds for which cachable HTTP documents will be retained without checking the origin
+ server. Thus, documents will be out of date at most this number of seconds. This maximum
+ value is enforced even if an expiry date was supplied with the document.</p>
<div class="example"><p><code>
CacheMaxExpire 604800
</a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_cache</td></tr></table>
- <p>Maximum number of bytes of a streamed response (<em>i.e.</em>, a
- response where the entire content is not available all at once, such
- as a proxy or CGI response) to buffer before deciding if the response
- is cacheable. By default, a streamed response will <em>not</em> be
- cached unless it has a <code>Content-Length</code> 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 anyway.
- To enable caching of streamed responses, use <code class="directive">CacheMaxStreamingBuffer</code> to specify the maximum amount of
- buffer space to use per request.</p>
+ <p>The <code class="directive">CacheMaxStreamingBuffer</code> 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 <code>Content-Length</code>
+ may not be known. Sources of streaming responses include proxied
+ responses and the output of CGI scripts. By default, a streamed
+ response will <em>not</em> be cached unless it has a
+ <code>Content-Length</code> 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 <code class="directive">CacheMaxStreamingBuffer</code> directive allows
+ buffering of streamed responses that don't contain a
+ <code>Content-Length</code> 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.</p>
<div class="note"><h3>Note:</h3>
<p>Using a nonzero value for <code class="directive">CacheMaxStreamingBuffer</code> will not delay the transmission
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--><title>mod_disk_cache - Apache HTTP Server</title><link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /><link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /><link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link href="../images/favicon.ico" rel="shortcut icon" /></head><body><div id="page-header"><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p><p class="apache">Apache HTTP Server Version 2.0</p><img alt="" src="../images/feather.gif" /></div><div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">Modules</a></div><div id="page-content"><div id="preamble"><h1>Apache Module mod_disk_cache</h1><table class="module"><tr><th><a href="module-dict.html#Description">Description:
- </a></th><td>Content cache keyed to URIs</td></tr><tr><th><a href="module-dict.html#Status">Status:
+ </a></th><td>Content cache storage manager keyed to URIs</td></tr><tr><th><a href="module-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:
</a></th><td>disk_cache_module</td></tr><tr><th><a href="module-dict.html#SourceFile">Source File:
</a></th><td>mod_disk_cache.c</td></tr></table><h3>Summary</h3>
+ <div class="warning">
+ This module is experimental. Documentation is still under development...
+ </div>
-<div class="warning">
-This module is experimental. Documentation is still under development...
-</div>
- <p><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code> implements a disk based storage manager for use with <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
- <p>Content stored and retrived keyed to the URL. Content with
- access protections is not cached.</p>
-<div class="note">
- <p><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code> requires the services of <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
-</div>
+ <p><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code> implements a disk based storage manager. It is primarily of
+ use in conjunction with <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
+ <p>Content is stored in and retrieved from the cache using URI based keys. Content with
+ access protection is not cached.</p>
+
+ <div class="note"><h3>Note:</h3>
+ <p><code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code> requires the services of <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
+ </div>
</div><div id="quickview"><h3 class="directives">Directives</h3><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#cachedirlength">CacheDirLength</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlevels">CacheDirLevels</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheexpirycheck">CacheExpiryCheck</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachetimemargin">CacheTimeMargin</a></li>
</ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheDirLength" id="CacheDirLength">CacheDirLength</a> <a name="cachedirlength" id="cachedirlength">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The number of characters in subdirectory names</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheDirLength <em>length</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>CacheDirLength <var>length</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheDirLength 2</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
<p>The <code class="directive">CacheDirLength</code> directive sets the number of
- characters for each subdirectory in the cache</p>
+ characters for each subdirectory name in the cache hierarchy.</p>
-<div class="note">
- <p>CacheDirLevels*CacheDirLength value must not be higher than 20.</p>
-</div>
-<div class="example"><p><code>
- CacheDirLength 4 <br />
-</code></p></div>
+ <div class="note">
+ <p>The result of <code class="directive">CacheDirLevels</code>*
+ <code class="directive">CacheDirLength</code> must not be higher than 20.</p>
+ </div>
+
+ <div class="example"><p><code>
+ CacheDirLength 4<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheDirLevels" id="CacheDirLevels">CacheDirLevels</a> <a name="cachedirlevels" id="cachedirlevels">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The number of levels of subdirectories in the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheDirLevels <em>levels</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The number of levels of subdirectories in the cache.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheDirLevels <var>levels</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheDirLevels 3</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
<p>The <code class="directive">CacheDirLevels</code> directive sets the number of
- subdirectory levels in the cache. Cached data will be saved this many directory
- levels below <code class="directive">CacheRoot</code></p>
+ subdirectory levels in the cache. Cached data will be saved this many
+ directory levels below the <code class="directive">CacheRoot</code> directory.</p>
-<div class="note">
- <p>CacheDirLevels*CacheDirLength value must not be higher than 20.</p>
-</div>
-<div class="example"><p><code>
- CacheDirLevels 5 <br />
-</code></p></div>
+ <div class="note">
+ <p>The result of <code class="directive">CacheDirLevels</code>*
+ <code class="directive">CacheDirLength</code> must not be higher than 20.</p>
+ </div>
+
+ <div class="example"><p><code>
+ CacheDirLevels 5<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheExpiryCheck" id="CacheExpiryCheck">CacheExpiryCheck</a> <a name="cacheexpirycheck" id="cacheexpirycheck">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>On if cache observes Expires date when seeking files</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheExpiryCheck <em>binary</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
- </a></th><td><code>CacheExpiryCheck ?</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>Indicates if the cache observes Expires dates when seeking
+files</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheExpiryCheck On|Off</code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>CacheExpiryCheck On</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
+ <p>More detail will be added here, when the function is implemented.</p>
-<div class="example"><p><code>
- CacheExpiryCheck On<br />
-</code></p></div>
-<div class="warning">
-The <code class="directive">CacheExpiryCheck</code> directive is currently <em>not</em> implemented.
-</div>
+ <div class="example"><p><code>
+ CacheExpiryCheck Off<br />
+ </code></p></div>
+
+ <div class="warning">
+ The <code class="directive">CacheExpiryCheck</code> directive is currently
+ <em>not</em> implemented.
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheGcClean" id="CacheGcClean">CacheGcClean</a> <a name="cachegcclean" id="cachegcclean">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The time in hours to retain unchanged files that match a url</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheGcClean <em>hours</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The time to retain unchanged cached files that match a URL</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheGcClean <var>hours</var> <var>url-string</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheGcClean ?</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
+ <p>More detail will be added here, when the function is implemented.</p>
-<div class="example"><p><code>
- CacheGcClean<br />
-</code></p></div>
-<div class="warning">
-The <code class="directive">CacheGcClean</code> directive is currently <em>not</em> implemented.
-</div>
+ <div class="example"><p><code>
+ CacheGcClean 12 /daily_scripts<br />
+ </code></p></div>
+
+ <div class="warning">
+ The <code class="directive">CacheGcClean</code> directive is currently
+ <em>not</em> implemented.
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheGcDaily" id="CacheGcDaily">CacheGcDaily</a> <a name="cachegcdaily" id="cachegcdaily">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The time of day for garbage collection (24 hour clock)</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheGcDaily <em>time</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The recurring time each day for garbage collection to be run.
+(24 hour clock)</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheGcDaily <var>time</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheGcDaily ?</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
+ <p>More detail will be added here, when the function is implemented.</p>
-<div class="example"><p><code>
- CacheGcDaily<br />
-</code></p></div>
-<div class="warning">
-The <code class="directive">CacheGcDaily</code> directive is currently <em>not</em> implemented.
-</div>
+ <div class="example"><p><code>
+ CacheGcDaily 23:59<br />
+ </code></p></div>
+
+ <div class="warning">
+ The <code class="directive">CacheGcDaily</code> directive is currently
+ <em>not</em> implemented.
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheGcInterval" id="CacheGcInterval">CacheGcInterval</a> <a name="cachegcinterval" id="cachegcinterval">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The interval between garbage collections</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheGcInterval <em>hours</em></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>The interval between garbage collection attempts.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheGcInterval <var>hours</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
+ <p>The <code class="directive">CacheGcInterval</code> directive specifies the
+ number of hours to wait between attempts to free up disk space.</p>
+ <p>More detail will be added here, when the function is implemented.</p>
-<div class="example"><p><code>
- CacheGcInterval 24 <br />
-</code></p></div>
-<div class="warning">
-The <code class="directive">CacheGcInterval</code> directive is currently <em>not</em> implemented.
-</div>
+ <div class="example"><p><code>
+ CacheGcInterval 24<br />
+ </code></p></div>
+
+ <div class="warning">
+ The <code class="directive">CacheGcInterval</code> directive is currently
+ <em>not</em> implemented.
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheGcMemUsage" id="CacheGcMemUsage">CacheGcMemUsage</a> <a name="cachegcmemusage" id="cachegcmemusage">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The maximum kilobytes of memory used for garbage collection</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheGcMemUsage <em>KBytes</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>CacheGcMemUsage <var>KBytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheGcMemUsage ?</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
+ <p>More detail will be added here, when the function is implemented.</p>
-<div class="example"><p><code>
- CacheGcMemUsage<br />
-</code></p></div>
-<div class="warning">
-The <code class="directive">CacheGcMemUsage</code> directive is currently <em>not</em> implemented.
-</div>
+ <div class="example"><p><code>
+ CacheGcMemUsage 16<br />
+ </code></p></div>
+
+ <div class="warning">
+ The <code class="directive">CacheGcMemUsage</code> directive is currently
+ <em>not</em> implemented.
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheGcUnused" id="CacheGcUnused">CacheGcUnused</a> <a name="cachegcunused" id="cachegcunused">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The time in hours to retain unused file that match a url</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheGcUnused <em>hours</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The time to retain unreferenced cached files that match a URL.</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheGcUnused <var>hours</var> <var>url-string</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheGcUnused ?</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
+ <p>More detail will be added here, when the function is implemented.</p>
-<div class="example"><p><code>
- CacheGcUnused<br />
-</code></p></div>
-<div class="warning">
-The <code class="directive">CacheGcUnused</code> directive is currently <em>not</em> implemented.
-</div>
+ <div class="example"><p><code>
+ CacheGcUnused 12 /local_images<br />
+ </code></p></div>
+
+ <div class="warning">
+ The <code class="directive">CacheGcUnused</code> directive is currently
+ <em>not</em> implemented.
+ </div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheMaxFileSize" id="CacheMaxFileSize">CacheMaxFileSize</a> <a name="cachemaxfilesize" id="cachemaxfilesize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The maximum size (in bytes) of a file to be placed in the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheMaxFileSize <em>bytes</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The maximum size (in bytes) of a document to be placed in the
+cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheMaxFileSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheMaxFileSize 1000000</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
<p>The <code class="directive">CacheMaxFileSize</code> directive sets the maximum
- size in bytes of a file to be cached.</p>
+ size, in bytes, for a document to be considered for storage in the cache.</p>
-<div class="example"><p><code>
- CacheMaxFileSize 64000<br />
-</code></p></div>
+ <div class="example"><p><code>
+ CacheMaxFileSize 64000<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheMinFileSize" id="CacheMinFileSize">CacheMinFileSize</a> <a name="cacheminfilesize" id="cacheminfilesize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The minimum size (in bytes) of a file to be placed in the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheMinFileSize <em>bytes</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The minimum size (in bytes) of a document to be placed in the
+cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>CacheMinFileSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheMinFileSize 1</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
<p>The <code class="directive">CacheMinFileSize</code> directive sets the minimum
- size in bytes of a file to be cached.</p>
+ size, in bytes, for a document to be considered for storage in the cache.</p>
-<div class="example"><p><code>
- CacheMinFileSize 64<br />
-</code></p></div>
+ <div class="example"><p><code>
+ CacheMinFileSize 64<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheRoot" id="CacheRoot">CacheRoot</a> <a name="cacheroot" id="cacheroot">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The directory root under which cache files are stored</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheRoot <em>directory</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>CacheRoot <var>directory</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>none</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
- <p>The <code class="directive">CacheRoot</code> directive defines the name of the directory
- on the disk to contain cache files. If the mod_disk_cache module has been loaded
- or compiled in to the Apache server, this directive <em>must</em> be defined. Failing to
- provide a value for <code class="directive">CacheRoot</code> will result in a configuration
+ <p>The <code class="directive">CacheRoot</code> directive defines the name of the
+ directory on the disk to contain cache files. If the
+ <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code> module has been loaded or compiled in to the
+ Apache server, this directive <em>must</em> be defined. Failing to provide a
+ value for <code class="directive">CacheRoot</code> will result in a configuration
file processing error. The <code class="directive">CacheDirLevels</code> and
- <code class="directive">CacheDirLength</code> directives define the structure of the directories
- under the specified root directory.</p>
+ <code class="directive">CacheDirLength</code> directives define the structure of
+ the directories under the specified root directory.</p>
-<div class="example"><p><code>
- CacheRoot c:/cacheroot <br />
-</code></p></div>
+ <div class="example"><p><code>
+ CacheRoot c:/cacheroot<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheSize" id="CacheSize">CacheSize</a> <a name="cachesize" id="cachesize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The maximum amount of disk space that will be used by the cache in KBytes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheSize <em>KBytes</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>CacheSize <var>KBytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheSize 1000000</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
<p>The <code class="directive">CacheSize</code> directive sets the desired disk space
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="CacheTimeMargin" id="CacheTimeMargin">CacheTimeMargin</a> <a name="cachetimemargin" id="cachetimemargin">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The minimum time margin to cache a document</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>CacheTimeMargin <em>?</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>CacheTimeMargin <var>?</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>CacheTimeMargin ?</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_disk_cache</td></tr></table>
+ <p>More detail will be added here, when the function is implemented.</p>
-<div class="example"><p><code>
- CacheTimeMargin<br />
-</code></p></div>
+ <div class="example"><p><code>
+ CacheTimeMargin X<br />
+ </code></p></div>
+
+ <div class="warning">
+ The <code class="directive">CacheTimeMargin</code> directive is currently
+ <em>not</em> implemented.
+ </div>
</div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>
\ No newline at end of file
<div class="warning">
This module is experimental. Documentation is still under development...
</div>
- <p>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. <em>mod_mem_cache</em>
- is most useful when used to cache locally generated content or to cache
- backend server content for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> configured for ProxyPass
- (aka <em>reverse proxy</em>)</p>
-<div class="note">
- <p><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> requires the services of <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
-</div>
- <p>Content stored and retrived keyed to the URL. Content with
- access protections is not cached.</p>
+ <p><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> implements a memory based storage manager.
+ <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> can be configured to operate in two modes:
+ caching open file descriptors or caching objects in heap storage.
+ <code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> is most useful when used to cache locally
+ generated content or to cache backend server content for
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> configured for
+ <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> (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>
+
+ <div class="note"><h3>Note:</h3>
+ <p><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> requires the services of <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
+ </div>
</div><div id="quickview"><h3 class="directives">Directives</h3><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#mcachemaxobjectcount">MCacheMaxObjectCount</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mcachemaxobjectsize">MCacheMaxObjectSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mcacheminobjectsize">MCacheMinObjectSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mcachesize">MCacheSize</a></li>
</ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheMaxObjectCount" id="MCacheMaxObjectCount">MCacheMaxObjectCount</a> <a name="mcachemaxobjectcount" id="mcachemaxobjectcount">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The maximum number of objects allowed to be placed in the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MCacheMaxObjectCount <em>value</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>MCacheMaxObjectCount <var>value</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheMaxObjectCount 1009</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheMaxObjectCount</code> 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. </p>
+ 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 <code class="directive">MCacheRemovalAlgorithm</code>.</p>
-<div class="note">
- The value of <code class="directive">MCacheMaxObjectCount</code> is used to create
- the open hash table.
-</div>
-<div class="example"><p><code>
- MCacheMaxObjectCount 13001 <br />
-</code></p></div>
+ <div class="note"><h3>Note:</h3>
+ The value of <code class="directive">MCacheMaxObjectCount</code> is used to create
+ the open hash table.
+ </div>
+
+ <div class="example"><p><code>
+ MCacheMaxObjectCount 13001<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheMaxObjectSize" id="MCacheMaxObjectSize">MCacheMaxObjectSize</a> <a name="mcachemaxobjectsize" id="mcachemaxobjectsize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The maximum size (in bytes) of an object to be placed in the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MCacheMaxObjectSize <em>bytes</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The maximum size (in bytes) of a document allowed in the
+cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>MCacheMaxObjectSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheMaxObjectSize 10000</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheMaxObjectSize</code> directive sets the maximum
- size of an object to be cached.</p>
+ allowable size, in bytes, of a document for it to be considered cacheable.</p>
-<div class="warning">
- The size must be greater than <code class="directive">MCacheMinObjectSize</code>.
-</div>
+ <div class="warning"><h3>Note:</h3>
+ The value of <code class="directive">MCacheMaxObjectSize</code> must be greater
+ than the value specified by the <code class="directive">MCacheMinObjectSize</code>
+ directive.
+ </div>
-<div class="example"><p><code>
- MCacheMaxObjectSize 6400000 <br />
-</code></p></div>
+ <div class="example"><p><code>
+ MCacheMaxObjectSize 6400000<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheMinObjectSize" id="MCacheMinObjectSize">MCacheMinObjectSize</a> <a name="mcacheminobjectsize" id="mcacheminobjectsize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The minimum size (in bytes) of an object to be placed in the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MCacheMinObjectSize <em>bytes</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The minimum size (in bytes) of a document to be allowed in the
+cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>MCacheMinObjectSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheMinObjectSize 0</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheMinObjectSize</code> directive sets the minimum
- size in bytes of an object to be cached.</p>
+ size in bytes of a document for it to be considered cacheable.</p>
-<div class="example"><p><code>
- MCacheMinObjectSize 10000 <br />
-</code></p></div>
+ <div class="example"><p><code>
+ MCacheMinObjectSize 10000<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheRemovalAlgorithm" id="MCacheRemovalAlgorithm">MCacheRemovalAlgorithm</a> <a name="mcacheremovalalgorithm" id="mcacheremovalalgorithm">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>The algorithm used to remove entries from the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MCacheRemovalAlgorithm <em>algorithm</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td>The algorithm used to select documents for removal from the
+cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
+ </a></th><td><code>MCacheRemovalAlgorithm <code>LRU|GDSF</code></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheRemovalAlgorithm GDSF</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
- <p>The <code class="directive">MCacheRemovalAlgorithm</code> directive sets the algorithm
- used to remove entries from the cache.
- Two choices are available: <br />
- LRU (Least Recently Used): LRU removes the objects that have not been
- accessed for the longest time.<br />
- 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.</p>
+ <p>The <code class="directive">MCacheRemovalAlgorithm</code> 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>
-<div class="example"><p><code>
- MCacheRemovalAlgorithm GDSF <br />
- MCacheRemovalAlgorithm LRU <br />
-</code></p></div>
+ <div class="example"><p><code>
+ MCacheRemovalAlgorithm GDSF<br />
+ MCacheRemovalAlgorithm LRU<br />
+ </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheSize" id="MCacheSize">MCacheSize</a> <a name="mcachesize" id="mcachesize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The maximum amount of memory used by the cache in KBytes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>MCacheSize <em>KBytes</em></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
+ </a></th><td><code>MCacheSize <var>KBytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheSize 100</code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config</td></tr><tr><th><a href="directive-dict.html#Status">Status:
+ </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
- <p>The <code class="directive">MCacheSize</code> 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 <code class="directive">MCacheRemovalAlgorithm</code> algorithm</p>
+ <p>The <code class="directive">MCacheSize</code> 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
+ <code class="directive">MCacheRemovalAlgorithm</code>.</p>
-<div class="warning">
- The size must be greater than <code class="directive">MCacheMaxObjectSize</code>.
-</div>
+ <div class="warning"><h3>Note:</h3>
+ The <code class="directive">MCacheSize</code> value must be greater than the value
+ specified by the <code class="directive">MCacheMaxObjectSize</code> directive.
+ </div>
-<div class="example"><p><code>
- MCacheSize 700000 <br />
-</code></p></div>
+ <div class="example"><p><code>
+ MCacheSize 700000<br />
+ </code></p></div>
</div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>
\ No newline at end of file
<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
[[!]<em>env-variable</em>[=<em>value</em>]] ...</a></td><td /><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets environment variables conditional on User-Agent without
respect to case</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The default time in seconds to cache a document</td></tr>
-<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var>cache_type</var> <var>url-string</var></a></td><td /><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs by specified storage
-manager</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td /><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching specified URLs in a specified storage
+<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>seconds</var></a></td><td> 3600 (one hour) </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The default duration to cache a document when no expiry date is specified.</td></tr>
+<tr><td><a href="mod_cache.html#cachedisable">CacheDisable <var> url-string</var></a></td><td /><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Disable caching of specified URLs</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheenable">CacheEnable <var>cache_type</var> <var>url-string</var></a></td><td /><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Enable caching of specified URLs using a specified storage
manager</td></tr>
<tr><td><a href="mod_file_cache.html#cachefile">CacheFile
<em>file-path</em> [<em>file-path</em>] ...</a></td><td /><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">-</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheforcecompletion">CacheForceCompletion <var>Percentage</var></a></td><td> 60 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Percentage of download to arrive for the cache to force
-complete transfer</td></tr>
-<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Ignore requests from the client for uncached
-content</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore responses where there is no Last Modified
-Header</td></tr>
-<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">The factor used to estimate the Expires date from the
-LastModified date</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheforcecompletion">CacheForceCompletion <var>Percentage</var></a></td><td> 60 </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Percentage of document served, after which the server
+will complete caching the file even if the request is cancelled.</td></tr>
+<tr><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Ignore the fact that the client requested the content not be
+cached.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore the fact that a response has no Last Modified
+header.</td></tr>
+<tr><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>float</var></a></td><td> 0.1 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">The factor used to compute an expiry date based on the
+LastModified date.</td></tr>
<tr class="odd"><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>seconds</var></a></td><td> 86400 (one day) </td><td>sv</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">The maximum time in seconds to cache a document</td></tr>
<tr><td><a href="mod_cache.html#cachemaxstreamingbuffer">CacheMaxStreamingBuffer <var>size_in_bytes</var></a></td><td> 0 </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Maximum amount of a streamed response to buffer in memory
before declaring the response uncacheable</td></tr>