mod_cache.xml revision 15f37a157fbbf107658ed82ec30c348a9b6e518e
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
e942c741056732f50da2074b36fe59805d370650slive<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<modulesynopsis>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard<description>Content cache keyed to URIs.</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end This module is experimental. Documentation is still under development...
15f37a157fbbf107658ed82ec30c348a9b6e518end href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> compliant HTTP
15f37a157fbbf107658ed82ec30c348a9b6e518end content cache that can be used to cache either local or proxied content.
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_cache</module> requires the services of one or more storage
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard management modules. Two storage management modules are included in
3e5f26422e7931e8838f3c844adc4282ef269cdfstoddard the base Apache distribution:</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end <dd>implements a disk based storage manager for use with
15f37a157fbbf107658ed82ec30c348a9b6e518end <dd>implements an in-memory based storage manager.
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_mem_cache</module> can be configured to operate in two
15f37a157fbbf107658ed82ec30c348a9b6e518end modes: caching open file descriptors or caching objects in heap storage.
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_mem_cache</module> is most useful when used to cache
15f37a157fbbf107658ed82ec30c348a9b6e518end locally generated content or to cache backend server content for
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_proxy</module> configured for <directive module="mod_proxy"
15f37a157fbbf107658ed82ec30c348a9b6e518end >ProxyPass</directive> (aka <dfn>reverse proxy</dfn>)</dd>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <p>Content stored and retrived keyed to the URL. Content with
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard access protections is not cached.</p>
88c775368960b64afcdfd93a812f466a109746baerikabele<section id="related"><title>Related Modules and Directives</title>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <modulelist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard </modulelist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directivelist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheRoot</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcInterval</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheDirLevels</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheDirLength</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheExpiryCheck</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheMinFileSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheMaxFileSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheTimeMargin</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcDaily</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcUnused</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcClean</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_disk_cache">CacheGcMemUsage</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheMaxObjectCount</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheMinObjectSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheMaxObjectSize</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <directive module="mod_mem_cache">MCacheRemovalAlgorithm</directive>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard </directivelist>
15f37a157fbbf107658ed82ec30c348a9b6e518end<section id="sampleconf"><title>Sample Configuration</title>
15f37a157fbbf107658ed82ec30c348a9b6e518end # Sample Cache Configuration<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end #LoadModule disk_cache_module modules/mod_disk_cache.so<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheRoot c:/cacheroot<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheSize 256<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheEnable disk /<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheDirLevels 5<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheDirLength 3<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </IfModule> <br />
15f37a157fbbf107658ed82ec30c348a9b6e518end LoadModule mem_cache_module modules/mod_mem_cache.so<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheEnable mem /<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheSize 4096<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheMaxObjectCount 100<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheMinObjectSize 1<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end MCacheMaxObjectSize 2048<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </IfModule><br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </IfModule>
15f37a157fbbf107658ed82ec30c348a9b6e518end </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>Enable caching specified URLs in a specified storage
15f37a157fbbf107658ed82ec30c348a9b6e518endmanager</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheEnable <var>cache_type</var> <var>url-string</var></syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <p>The <directive>CacheEnable</directive> directive instructs
15f37a157fbbf107658ed82ec30c348a9b6e518end <var>url-string</var>. The cache store is specified with the
15f37a157fbbf107658ed82ec30c348a9b6e518end <var>cache_type</var> argument. <var>cache_type</var> <code>mem</code>
15f37a157fbbf107658ed82ec30c348a9b6e518end instructs <module>mod_cache</module> to use the in-memory cache storage
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_cache</module> to use the cache storage manager implemented
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheEnable disk /<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheEnable mem /manual<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheEnable fd /images<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>Disable caching of specified URLs by specified storage
15f37a157fbbf107658ed82ec30c348a9b6e518endmanager</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheDisable <var>cache_type</var> <var>url-string</var></syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <p>The <directive>CacheDisable</directive> directive instructs
15f37a157fbbf107658ed82ec30c348a9b6e518end <module>mod_cache</module> to <em>not</em> cache urls at or below
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheDisable disk /local_files
15f37a157fbbf107658ed82ec30c348a9b6e518end </example>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<description>The maximum time in seconds to cache a document</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
15f37a157fbbf107658ed82ec30c348a9b6e518end <p>The maximum time in seconds to cache a document. The
15f37a157fbbf107658ed82ec30c348a9b6e518end <directive>CacheMaxExpire</directive> takes precedence over the
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheMaxExpire 604800
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>The default time in seconds to cache a document</description>
88c775368960b64afcdfd93a812f466a109746baerikabele<default>CacheDefaultExpire 3600 (one hour)</default>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard <p>The default time in seconds to cache a document if the page does not have
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheDefaultExpire 86400
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>Ignore responses where there is no Last Modified
15f37a157fbbf107658ed82ec30c348a9b6e518endHeader</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
15f37a157fbbf107658ed82ec30c348a9b6e518end <p>Ignore responses where there is no Last Modified Header.</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheIgnoreNoLastMod On
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>Ignore requests from the client for uncached
15f37a157fbbf107658ed82ec30c348a9b6e518endcontent</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <p>Ignore requests from the client for uncached content</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheIgnoreCacheControl On
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>The factor used to estimate the Expires date from the
15f37a157fbbf107658ed82ec30c348a9b6e518endLastModified date</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard <p>The factor used to estimate the Expires date from the LastModified date.</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheLastModifiedFactor 0.5
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</directivesynopsis>
1e5b300cc68389a18fe3762b1b980b0c86712ba1stoddard<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>Percentage of download to arrive for the cache to force
15f37a157fbbf107658ed82ec30c348a9b6e518endcomplete transfer</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheForceCompletion <var>Percentage</var></syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
15f37a157fbbf107658ed82ec30c348a9b6e518end <p>Percentage of download to arrive for the cache to force complete transfer.</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheForceCompletion 80
5d1b3dcc11d17d2a508d9836e4b1787c65a8d789erikabele</directivesynopsis>
e2c93125be350d68b887588471746a87c89f9d6bbrianp<directivesynopsis>
15f37a157fbbf107658ed82ec30c348a9b6e518end<description>Maximum amount of a streamed response to buffer in memory
15f37a157fbbf107658ed82ec30c348a9b6e518endbefore declaring the response uncacheable</description>
15f37a157fbbf107658ed82ec30c348a9b6e518end<syntax>CacheMaxStreamingBuffer <var>size_in_bytes</var></syntax>
15f37a157fbbf107658ed82ec30c348a9b6e518end<contextlist><context>server config</context><context>virtual host</context>
15f37a157fbbf107658ed82ec30c348a9b6e518end</contextlist>
15f37a157fbbf107658ed82ec30c348a9b6e518end <p>Maximum number of bytes of a streamed response (<em>i.e.</em>, a
15f37a157fbbf107658ed82ec30c348a9b6e518end response where the entire content is not available all at once, such
15f37a157fbbf107658ed82ec30c348a9b6e518end as a proxy or CGI response) to buffer before deciding if the response
15f37a157fbbf107658ed82ec30c348a9b6e518end is cacheable. By default, a streamed response will <em>not</em> be
15f37a157fbbf107658ed82ec30c348a9b6e518end cached unless it has a <code>Content-Length</code> header. The reason
15f37a157fbbf107658ed82ec30c348a9b6e518end for this is to avoid using a large amount of memory to buffer a partial
15f37a157fbbf107658ed82ec30c348a9b6e518end response that might end up being too large to fit in the cache anyway.
15f37a157fbbf107658ed82ec30c348a9b6e518end To enable caching of streamed responses, use <directive
15f37a157fbbf107658ed82ec30c348a9b6e518end >CacheMaxStreamingBuffer</directive> to specify the maximum amount of
15f37a157fbbf107658ed82ec30c348a9b6e518end buffer space to use per request.</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end >CacheMaxStreamingBuffer</directive> will not delay the transmission
15f37a157fbbf107658ed82ec30c348a9b6e518end of the response to the client. As soon as <module>mod_cache</module>
15f37a157fbbf107658ed82ec30c348a9b6e518end copies a block of streamed content into a buffer, it sends the block
15f37a157fbbf107658ed82ec30c348a9b6e518end on to the next output filter for delivery to the client.</p>
15f37a157fbbf107658ed82ec30c348a9b6e518end # Enable caching of streamed responses up to 64KB:<br />
15f37a157fbbf107658ed82ec30c348a9b6e518end CacheMaxStreamingBuffer 65536
15f37a157fbbf107658ed82ec30c348a9b6e518end </example>
e2c93125be350d68b887588471746a87c89f9d6bbrianp</directivesynopsis>
721fdd19e2abef2e8dc46eb5c022ef14efe3367estoddard</modulesynopsis>