diff options
-rw-r--r-- | docs/manual/mod/mod_cache.xml | 96 | ||||
-rw-r--r-- | docs/manual/mod/mod_disk_cache.xml | 259 | ||||
-rw-r--r-- | docs/manual/mod/mod_mem_cache.xml | 139 |
3 files changed, 481 insertions, 13 deletions
diff --git a/docs/manual/mod/mod_cache.xml b/docs/manual/mod/mod_cache.xml index 56690df4ef..b81944aaa6 100644 --- a/docs/manual/mod/mod_cache.xml +++ b/docs/manual/mod/mod_cache.xml @@ -4,7 +4,7 @@ <modulesynopsis> <name>mod_cache</name> -<description>Content cache keyed to URIs</description> +<description>Content cache keyed to URIs.</description> <status>Experimental</status> <sourcefile>mod_cache.c</sourcefile> <identifier>cache_module</identifier> @@ -20,17 +20,44 @@ This module is experimental. Documentation is still under development... management modules. Two storage management modules are included in the base Apache distribution:</p> <dl> - <dt><em>mod_disk_cache</em></dt> - <dd>implements a disk based storage manager for use with mod_proxy</dd> - <dt><em>mod_mem_cache</em></dt> + <dt><em><module>mod_disk_cache</module></em></dt> + <dd>implements a disk based storage manager for use with <module>mod_proxy</module></dd> + <dt><em><module>mod_mem_cache</module></em></dt> <dd>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> + descriptors or caching objects in heap storage. <em><module>mod_mem_cache</module></em> is most useful when used to cache locally generated content or to cache backend server content for mod_proxy configured for ProxyPass (aka <em>reverse proxy</em>)</dd> </dl> <p>Content stored and retrived keyed to the URL. Content with access protections is not cached.</p> + + <related> + <modulelist> + <module>mod_disk_cache</module> + <module>mod_mem_cache</module> + </modulelist> + <directivelist> + <directive module="mod_disk_cache">CacheRoot</directive> + <directive module="mod_disk_cache">CacheSize</directive> + <directive module="mod_disk_cache">CacheGcInterval</directive> + <directive module="mod_disk_cache">CacheDirLevels</directive> + <directive module="mod_disk_cache">CacheDirLength</directive> + <directive module="mod_disk_cache">CacheExpiryCheck</directive> + <directive module="mod_disk_cache">CacheMinFileSize</directive> + <directive module="mod_disk_cache">CacheMaxFileSize</directive> + <directive module="mod_disk_cache">CacheTimeMargin</directive> + <directive module="mod_disk_cache">CacheGcDaily</directive> + <directive module="mod_disk_cache">CacheGcUnused</directive> + <directive module="mod_disk_cache">CacheGcClean</directive> + <directive module="mod_disk_cache">CacheGcMemUsage</directive> + <directive module="mod_mem_cache">MCacheSize</directive> + <directive module="mod_mem_cache">MCacheMaxObjectCount</directive> + <directive module="mod_mem_cache">MCacheMinObjectSize</directive> + <directive module="mod_mem_cache">MCacheMaxObjectSize</directive> + <directive module="mod_mem_cache">MCacheRemovalAlgorithm</directive> + </directivelist> + </related> </summary> <section><title>Sample Configuration</title> @@ -47,7 +74,7 @@ LoadModule cache_module modules/mod_cache.so <br /> #LoadModule disk_cache_module modules/mod_disk_cache.so <br /> <IfModule mod_disk_cache.c> <br /> CacheRoot c:/cacheroot <br /> - CacheSize + CacheSize 256 <br /> CacheEnable disk / <br /> CacheDirLevels 5 <br /> CacheDirLength 3 <br /> @@ -128,11 +155,13 @@ LoadModule cache_module modules/mod_cache.so <br /> <directivesynopsis> <name>CacheMaxExpire</name> <description>The maximum time in seconds to cache a document</description> -<syntax></syntax> +<syntax>CacheMaxExpire <em>seconds</em></syntax> +<default>CacheMaxExpire 86400 <em>(one day)</em></default> <contextlist><context>server config</context></contextlist> <usage> - <p>The maximum time in seconds to cache a document.</p> + <p>The maximum time in seconds to cache a document. The <directive>CacheMaxExpire</directive> + takes precedence over the <em>Expire</em> field from the header.</p> <example> CacheMaxExpire 604800 </example> @@ -140,11 +169,13 @@ LoadModule cache_module modules/mod_cache.so <br /> </directivesynopsis> <directivesynopsis> <name>CacheDefaultExpire</name> -<syntax></syntax> +<syntax>CacheDefaultExpire <em>seconds</em></syntax> +<default>CacheDefaultExpire 3600 <em>(one hour)</em></default> <contextlist><context>server config</context></contextlist> <usage> - <p>The default time in seconds to cache a document.</p> + <p>The default time in seconds to cache a document if the page does not have + an expiry date in the <em>Expires</em> field.</p> <example> CacheDefaultExpire 86400 </example> @@ -154,7 +185,7 @@ LoadModule cache_module modules/mod_cache.so <br /> <directivesynopsis> <name>CacheIgnoreNoLastMod</name> <description>Ignore responses where there is no Last Modified Header</description> -<syntax></syntax> +<syntax>CacheIgnoreNoLastMod</syntax> <contextlist><context>server config</context></contextlist> <usage> @@ -169,7 +200,7 @@ LoadModule cache_module modules/mod_cache.so <br /> <directivesynopsis> <name>CacheIgnoreCacheControl</name> <description>Ignore requests from the client for uncached content</description> -<syntax></syntax> +<syntax>CacheIgnoreCacheControl</syntax> <contextlist><context>server config</context></contextlist> <usage> @@ -184,7 +215,8 @@ LoadModule cache_module modules/mod_cache.so <br /> <directivesynopsis> <name>CacheLastModifiedFactor</name> <description>The factor used to estimate the Expires date from the LastModified date</description> -<syntax></syntax> +<syntax>CacheLastModifiedFactor <em>float</em></syntax> +<default>CacheLastModifiedFactor 0.1</default> <contextlist><context>server config</context></contextlist> <usage> @@ -196,4 +228,42 @@ LoadModule cache_module modules/mod_cache.so <br /> </usage> </directivesynopsis> +<directivesynopsis> +<name>CacheForceCompletion</name> +<description>Percentage of download to arrive for the cache to force complete transfert</description> +<syntax>CacheLastModifiedFactor <em>Percentage</em></syntax> +<default>CacheLastModifiedFactor 60</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>Percentage of download to arrive for the cache to force complete transfert.</p> + + <example> + CacheForceCompletion + </example> +<note type="warning"> +This feature is currently <em>not</em> implemented. +</note> + </usage> + </directivesynopsis> + +<directivesynopsis> +<name>CacheForceCompletion</name> +<description>Percentage of download to arrive for the cache to force complete transfert</description> +<syntax>CacheLastModifiedFactor <em>Percentage</em></syntax> +<default>CacheLastModifiedFactor 60</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>Percentage of download to arrive for the cache to force complete transfert.</p> + + <example> + CacheForceCompletion + </example> +<note type="warning"> +This feature is currently <em>not</em> implemented. +</note> +</usage> +</directivesynopsis> + </modulesynopsis> diff --git a/docs/manual/mod/mod_disk_cache.xml b/docs/manual/mod/mod_disk_cache.xml new file mode 100644 index 0000000000..5c415f7f51 --- /dev/null +++ b/docs/manual/mod/mod_disk_cache.xml @@ -0,0 +1,259 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> +<modulesynopsis> + +<name>mod_disk_cache</name> +<description>Content cache keyed to URIs</description> +<status>Experimental</status> +<sourcefile>mod_disk_cache.c</sourcefile> +<identifier>disk_cache_module</identifier> + +<summary> + +<note type="warning"> +This module is experimental. Documentation is still under development... +</note> + <p><module>mod_disk_cache</module> implements a disk based storage manager for use with <module>mod_proxy.</module></p> + <p>Content stored and retrived keyed to the URL. Content with + access protections is not cached.</p> +<note> + <p><module>mod_disk_cache</module> requires the services of <module>mod_cache</module>.</p> +</note> +</summary> + +<directivesynopsis> +<name>CacheRoot</name> +<description>The directory to store cache files</description> +<syntax>CacheRoot <em>directory</em></syntax> +<default>none</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>CacheRoot</directive> directive defines the name of the directory + on the disk to contain cache files. What is happening if not set ?</p> + +<example> + CacheRoot c:/cacheroot <br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheSize</name> +<description>The maximum amount of disk space that will be used by the cache in KBytes</description> +<syntax>CacheSize <em>KBytes</em></syntax> +<default>CacheSize 1000000</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>MCacheSize</directive> directive sets the desired disk space + usage of the cache, in KBytes (1024-byte units). This directive does not put a + hard limit on the size of the cache. The garbage collector will delete files + until the usage is at or below the settings. Always use a value that is lower + than the available disk space.</p> + +<example> + MCacheSize 5000000 <br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheGcInterval</name> +<description>The interval between garbage collections</description> +<syntax>CacheGcInterval <em>hours</em></syntax> +<contextlist><context>server config</context></contextlist> + +<usage> + +<example> + CacheGcInterval 24 <br /> +</example> +<note type="warning"> +The <directive>CacheGcInterval</directive> directive is currently <em>not</em> implemented. +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheDirLevels</name> +<description>The number of levels of subdirectories in the cache</description> +<syntax>CacheDirLevels <em>levels</em></syntax> +<default>CacheDirLevels 3</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>CacheDirLevels</directive> directive sets the number of + subdirectory levels in the cache. Cached data will be saved this many directory + levels below <directive>CacheRoot</directive></p> + +<note> + <p>CacheDirLevels*CacheDirLength value must not be higher than 20.</p> +</note> +<example> + CacheDirLevels 5 <br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheDirLength</name> +<description>The number of characters in subdirectory names</description> +<syntax>CacheDirLength <em>length</em></syntax> +<default>CacheDirLength 2</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>CacheDirLength</directive> directive sets the number of + characters for each subdirectory in the cache</p> + +<note> + <p>CacheDirLevels*CacheDirLength value must not be higher than 20.</p> +</note> +<example> + CacheDirLength 4 <br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheExpiryCheck</name> +<description>On if cache observes Expires date when seeking files</description> +<syntax>CacheExpiryCheck <em>binary</em></syntax> +<default>CacheExpiryCheck ?</default> +<contextlist><context>server config</context></contextlist> + +<usage> + +<example> + CacheExpiryCheck On<br /> +</example> +<note type="warning"> +The <directive>CacheExpiryCheck</directive> directive is currently <em>not</em> implemented. +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheMinFileSize</name> +<description>The minimum size (in bytes) of a file to be placed in the cache</description> +<syntax>CacheMinFileSize <em>bytes</em></syntax> +<default>CacheMinFileSize 1</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>CacheMinFileSize</directive> directive sets the minimum + size in bytes of a file to be cached.</p> + +<example> + CacheMinFileSize 64<br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheMaxFileSize</name> +<description>The maximum size (in bytes) of a file to be placed in the cache</description> +<syntax>CacheMaxFileSize <em>bytes</em></syntax> +<default>CacheMaxFileSize 1000000</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>CacheMaxFileSize</directive> directive sets the maximum + size in bytes of a file to be cached.</p> + +<example> + CacheMaxFileSize 64000<br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheTimeMargin</name> +<description>The minimum time margin to cache a document</description> +<syntax>CacheTimeMargin <em>?</em></syntax> +<default>CacheTimeMargin ?</default> +<contextlist><context>server config</context></contextlist> + +<usage> + +<example> + CacheTimeMargin<br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheGcDaily</name> +<description>The time of day for garbage collection (24 hour clock)</description> +<syntax>CacheGcDaily <em>time</em></syntax> +<default>CacheGcDaily ?</default> +<contextlist><context>server config</context></contextlist> + +<usage> + +<example> + CacheGcDaily<br /> +</example> +<note type="warning"> +The <directive>CacheGcDaily</directive> directive is currently <em>not</em> implemented. +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheGcUnused</name> +<description>The time in hours to retain unused file that match a url</description> +<syntax>CacheGcUnused <em>hours</em></syntax> +<default>CacheGcUnused ?</default> +<contextlist><context>server config</context></contextlist> + +<usage> + +<example> + CacheGcUnused<br /> +</example> +<note type="warning"> +The <directive>CacheGcUnused</directive> directive is currently <em>not</em> implemented. +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheGcClean</name> +<description>The time in hours to retain unchanged files that match a url</description> +<syntax>CacheGcClean <em>hours</em></syntax> +<default>CacheGcClean ?</default> +<contextlist><context>server config</context></contextlist> + +<usage> + +<example> + CacheGcClean<br /> +</example> +<note type="warning"> +The <directive>CacheGcClean</directive> directive is currently <em>not</em> implemented. +</note> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>CacheGcMemUsage</name> +<description>The maximum kilobytes of memory used for garbage collection</description> +<syntax>CacheGcMemUsage <em>KBytes</em></syntax> +<default>CacheGcMemUsage ?</default> +<contextlist><context>server config</context></contextlist> + +<usage> + +<example> + CacheGcMemUsage<br /> +</example> +<note type="warning"> +The <directive>CacheGcMemUsage</directive> directive is currently <em>not</em> implemented. +</note> +</usage> +</directivesynopsis> + +</modulesynopsis>
\ No newline at end of file diff --git a/docs/manual/mod/mod_mem_cache.xml b/docs/manual/mod/mod_mem_cache.xml new file mode 100644 index 0000000000..b3cd5433c8 --- /dev/null +++ b/docs/manual/mod/mod_mem_cache.xml @@ -0,0 +1,139 @@ +<?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>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 <module>mod_proxy</module> configured for ProxyPass + (aka <em>reverse proxy</em>)</p> +<note> + <p><module>mod_mem_cache</module> requires the services of <module>mod_cache</module>.</p> +</note> + <p>Content stored and retrived keyed to the URL. Content with + access protections is not cached.</p> +</summary> + +<directivesynopsis> +<name>MCacheSize</name> +<description>The maximum amount of memory used by the cache in KBytes</description> +<syntax>MCacheSize <em>KBytes</em></syntax> +<default>MCacheSize 100</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>MCacheSize</directive> 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 <directive>MCacheRemovalAlgorithm</directive> algorithm</p> + +<note type="warning"> + The size must be greater than <directive>MCacheMaxObjectSize</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 <em>value</em></syntax> +<default>MCacheMaxObjectCount 1009</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>MCacheMaxObjectCount</directive> 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> + +<note type="warning"> + The size must be greater than <directive>MCacheMinObjectSize</directive>. +</note> + +<note> + 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 an object to be placed in the cache</description> +<syntax>MCacheMinObjectSize <em>bytes</em></syntax> +<default>MCacheMinObjectSize 0</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>MCacheMinObjectSize</directive> directive sets the minimum + size in bytes of an object to be cached.</p> + +<example> + MCacheMinObjectSize 10000 <br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>MCacheMaxObjectSize</name> +<description>The maximum size (in bytes) of an object to be placed in the cache</description> +<syntax>MCacheMaxObjectSize <em>bytes</em></syntax> +<default>MCacheMaxObjectSize 10000</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>MCacheMaxObjectSize</directive> directive sets the maximum + size of an object to be cached.</p> + +<example> + MCacheMaxObjectSize 6400000 <br /> +</example> +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>MCacheRemovalAlgorithm</name> +<description>The algorithm used to remove entries from the cache</description> +<syntax>MCacheRemovalAlgorithm <em>algorithm</em></syntax> +<default>MCacheRemovalAlgorithm GDSF</default> +<contextlist><context>server config</context></contextlist> + +<usage> + <p>The <directive>MCacheRemovalAlgorithm</directive> 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> + +<example> + MCacheRemovalAlgorithm GDSF <br /> + MCacheRemovalAlgorithm LRU <br /> +</example> +</usage> +</directivesynopsis> + +</modulesynopsis>
\ No newline at end of file |