mod_disk_cache.xml revision b7557ab9828d2017224a12968f82c3118b6a8c0a
<?xml version="1.0"?>
<!-- $LastChangedRevision$ -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_disk_cache.xml.meta">
<name>mod_disk_cache</name>
<description>Content cache storage manager keyed to URIs</description>
<status>Extension</status>
<identifier>disk_cache_module</identifier>
<summary>
<p><module>mod_disk_cache</module> implements a disk based storage
manager. It is primarily of use in conjunction with
<module>mod_cache</module>.</p>
<p>Content is stored in and retrieved from the cache using URI based
keys. Content with access protection is not cached.</p>
<p><program>htcacheclean</program> can be used to maintain the cache
size at a maximum level.</p>
<note><title>Note:</title>
<p><module>mod_disk_cache</module> requires the services of
<module>mod_cache</module>.</p>
</note>
<note><title>Note:</title>
<p><module>mod_disk_cache</module> uses the sendfile feature to
serve files from the cache when supported by the platform, and
when enabled with <directive module="core">EnableSendfile</directive>.
However, per-directory and .htaccess configuration of
<directive module="core">EnableSendfile</directive> are ignored by
<module>mod_disk_cache</module> as the corresponding settings are not
available to the module when a request is being served from the
cache.</p>
</note>
</summary>
<directivesynopsis>
<name>CacheRoot</name>
<description>The directory root under which cache files are
stored</description>
<syntax>CacheRoot <var>directory</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>CacheRoot</directive> directive defines the name of
the directory on the disk to contain cache files. If the <module
>mod_disk_cache</module> module has been loaded or compiled in to the
Apache server, this directive <em>must</em> be defined. Failing to
provide a value for <directive>CacheRoot</directive> will result in
a configuration file processing error. The <directive
module="mod_disk_cache">CacheDirLevels</directive> and <directive
module="mod_disk_cache">CacheDirLength</directive> directives define
the structure of the directories under the specified root directory.</p>
<example>
CacheRoot c:/cacheroot
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CacheDirLevels</name>
<description>The number of levels of subdirectories in the
cache.</description>
<syntax>CacheDirLevels <var>levels</var></syntax>
<default>CacheDirLevels 2</default>
<contextlist><context>server config</context><context>virtual host</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 the <directive module="mod_disk_cache"
>CacheRoot</directive> directory.</p>
<p>A high value for <directive>CacheDirLevels</directive> combined
with a low value for <directive>CacheDirLength</directive> will result in
a relatively deep hierarchy, with a small number of subdirectories at each
level.</p>
<note>
<p>The result of <directive>CacheDirLevels</directive>*
<directive module="mod_disk_cache">CacheDirLength</directive> must
not be higher than 20.</p>
</note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CacheDirLength</name>
<description>The number of characters in subdirectory names</description>
<syntax>CacheDirLength <var>length</var></syntax>
<default>CacheDirLength 2</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>CacheDirLength</directive> directive sets the number
of characters for each subdirectory name in the cache hierarchy. It can
be used in conjunction with <directive>CacheDirLevels</directive> to
determine the approximate structure of your cache hierarchy.</p>
<p>A high value for <directive>CacheDirLength</directive> combined
with a low value for <directive>CacheDirLevels</directive> will result in
a relatively flat hierarchy, with a large number of subdirectories at each
level.</p>
<note>
<p>The result of <directive module="mod_disk_cache"
>CacheDirLevels</directive>* <directive>CacheDirLength</directive>
must not be higher than 20.</p>
</note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CacheMinFileSize</name>
<description>The minimum size (in bytes) of a document to be placed in the
cache</description>
<syntax>CacheMinFileSize <var>bytes</var></syntax>
<default>CacheMinFileSize 1</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>CacheMinFileSize</directive> directive sets the
minimum size, in bytes, for a document to be considered for storage
in the cache.</p>
<example>
CacheMinFileSize 64
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CacheMaxFileSize</name>
<description>The maximum size (in bytes) of a document to be placed in the
cache</description>
<syntax>CacheMaxFileSize <var>bytes</var></syntax>
<default>CacheMaxFileSize 1000000</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>The <directive>CacheMaxFileSize</directive> directive sets the
maximum size, in bytes, for a document to be considered for storage in
the cache.</p>
<example>
CacheMaxFileSize 64000
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CacheReadSize</name>
<description>The minimum size (in bytes) of the document to read and be cached
before sending the data downstream</description>
<syntax>CacheReadSize <var>bytes</var></syntax>
<default>CacheReadSize 0</default>
<contextlist><context>server config</context>
<context>virtual host</context>
<context>directory</context>
<context>.htaccess</context>
</contextlist>
<usage>
<p>The <directive>CacheReadSize</directive> directive sets the
minimum amount of data, in bytes, to be read from the backend before the
data is sent to the client. The default of zero causes all data read of
any size to be passed downstream to the client immediately as it arrives.
Setting this to a higher value causes the disk cache to buffer at least
this amount before sending the result to the client. This can improve
performance when caching content from a reverse proxy.</p>
<p>This directive only takes effect when the data is being saved to the
cache, as opposed to data being served from the cache.</p>
<example>
CacheReadSize 102400
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>CacheReadTime</name>
<description>The minimum time (in milliseconds) that should elapse while reading
before data is sent downstream</description>
<syntax>CacheReadTime <var>milliseconds</var></syntax>
<default>CacheReadTime 0</default>
<contextlist><context>server config</context>
<context>virtual host</context>
<context>directory</context>
<context>.htaccess</context>
</contextlist>
<usage>
<p>The <directive>CacheReadTime</directive> directive sets the minimum amount
of elapsed time that should pass before making an attempt to send data
downstream to the client. During the time period, data will be buffered
before sending the result to the client. This can improve performance when
caching content from a reverse proxy.</p>
<p>The default of zero disables this option.</p>
<p>This directive only takes effect when the data is being saved to the
cache, as opposed to data being served from the cache. It is recommended
that this option be used alongside the
<directive module="mod_disk_cache">CacheReadSize</directive> directive to
ensure that the server does not buffer excessively should data arrive faster
than expected.</p>
<example>
CacheReadTime 1000
</example>
</usage>
</directivesynopsis>
</modulesynopsis>