| <?xml version="1.0"?> | |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> | |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> | |
| <!-- $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 | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| 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_cache_socache.xml.meta"> | |
| <name>mod_cache_socache</name> | |
| <description>Shared object cache (socache) based storage module for the | |
| HTTP caching filter.</description> | |
| <status>Extension</status> | |
| <sourcefile>mod_cache_socache.c</sourcefile> | |
| <identifier>cache_socache_module</identifier> | |
| <summary> | |
| <p><module>mod_cache_socache</module> implements a shared object cache | |
| (socache) based storage manager for <module>mod_cache</module>.</p> | |
| <p>The headers and bodies of cached responses are combined, and stored | |
| underneath a single key in the shared object cache. A | |
| <a href="../socache.html">number of implementations</a> of shared object | |
| caches are available to choose from.</p> | |
| <p>Multiple content negotiated responses can be stored concurrently, | |
| however the caching of partial content is not yet supported by this | |
| module.</p> | |
| <highlight language="config"> | |
| # Turn on caching | |
| CacheSocache shmcb | |
| CacheSocacheMaxSize 102400 | |
| <Location "/foo"> | |
| CacheEnable socache | |
| </Location> | |
| # Fall back to the disk cache | |
| CacheSocache shmcb | |
| CacheSocacheMaxSize 102400 | |
| <Location "/foo"> | |
| CacheEnable socache | |
| CacheEnable disk | |
| </Location> | |
| </highlight> | |
| <note><title>Note:</title> | |
| <p><module>mod_cache_socache</module> requires the services of | |
| <module>mod_cache</module>, which must be loaded before | |
| <module>mod_cache_socache</module>.</p> | |
| </note> | |
| </summary> | |
| <seealso><module>mod_cache</module></seealso> | |
| <seealso><module>mod_cache_disk</module></seealso> | |
| <seealso><a href="../caching.html">Caching Guide</a></seealso> | |
| <directivesynopsis> | |
| <name>CacheSocache</name> | |
| <description>The shared object cache implementation to use</description> | |
| <syntax>CacheSocache <var>type[:args]</var></syntax> | |
| <contextlist><context>server config</context><context>virtual host</context> | |
| </contextlist> | |
| <compatibility>Available in Apache 2.4.5 and later</compatibility> | |
| <usage> | |
| <p>The <directive>CacheSocache</directive> directive defines the name of | |
| the shared object cache implementation to use, followed by optional | |
| arguments for that implementation. A <a href="../socache.html">number of | |
| implementations</a> of shared object caches are available to choose | |
| from.</p> | |
| <highlight language="config"> | |
| CacheSocache shmcb | |
| </highlight> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>CacheSocacheMaxTime</name> | |
| <description>The maximum time (in seconds) for a document to be placed in the | |
| cache</description> | |
| <syntax>CacheSocacheMaxTime <var>seconds</var></syntax> | |
| <default>CacheSocacheMaxTime 86400</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context> | |
| <context>directory</context> | |
| <context>.htaccess</context> | |
| </contextlist> | |
| <compatibility>Available in Apache 2.4.5 and later</compatibility> | |
| <usage> | |
| <p>The <directive>CacheSocacheMaxTime</directive> directive sets the | |
| maximum freshness lifetime, in seconds, for a document to be stored in | |
| the cache. This value overrides the freshness lifetime defined for the | |
| document by the HTTP protocol.</p> | |
| <highlight language="config"> | |
| CacheSocacheMaxTime 86400 | |
| </highlight> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>CacheSocacheMinTime</name> | |
| <description>The minimum time (in seconds) for a document to be placed in the | |
| cache</description> | |
| <syntax>CacheSocacheMinTime <var>seconds</var></syntax> | |
| <default>CacheSocacheMinTime 600</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context> | |
| <context>directory</context> | |
| <context>.htaccess</context> | |
| </contextlist> | |
| <compatibility>Available in Apache 2.4.5 and later</compatibility> | |
| <usage> | |
| <p>The <directive>CacheSocacheMinTime</directive> directive sets the | |
| amount of seconds beyond the freshness lifetime of the response that the | |
| response should be cached for in the shared object cache. If a response is | |
| only stored for its freshness lifetime, there will be no opportunity to | |
| revalidate the response to make it fresh again.</p> | |
| <highlight language="config"> | |
| CacheSocacheMinTime 600 | |
| </highlight> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>CacheSocacheMaxSize</name> | |
| <description>The maximum size (in bytes) of an entry to be placed in the | |
| cache</description> | |
| <syntax>CacheSocacheMaxSize <var>bytes</var></syntax> | |
| <default>CacheSocacheMaxSize 102400</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context> | |
| <context>directory</context> | |
| <context>.htaccess</context> | |
| </contextlist> | |
| <compatibility>Available in Apache 2.4.5 and later</compatibility> | |
| <usage> | |
| <p>The <directive>CacheSocacheMaxSize</directive> directive sets the | |
| maximum size, in bytes, for the combined headers and body of a document | |
| to be considered for storage in the cache. The value must be at | |
| least 1024 bytes. The larger the headers that | |
| are stored alongside the body, the smaller the body may be.</p> | |
| <p>The <module>mod_cache_socache</module> module will only attempt to | |
| cache responses that have an explicit content length, or that are small | |
| enough to be written in one pass. This is done to allow the | |
| <module>mod_cache_disk</module> module to have an opportunity to cache | |
| responses larger than those cacheable within | |
| <module>mod_cache_socache</module>.</p> | |
| <highlight language="config"> | |
| CacheSocacheMaxSize 102400 | |
| </highlight> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>CacheSocacheReadSize</name> | |
| <description>The minimum size (in bytes) of the document to read and be cached | |
| before sending the data downstream</description> | |
| <syntax>CacheSocacheReadSize <var>bytes</var></syntax> | |
| <default>CacheSocacheReadSize 0</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context> | |
| <context>directory</context> | |
| <context>.htaccess</context> | |
| </contextlist> | |
| <compatibility>Available in Apache 2.4.5 and later</compatibility> | |
| <usage> | |
| <p>The <directive>CacheSocacheReadSize</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 slow 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> | |
| <highlight language="config"> | |
| CacheSocacheReadSize 102400 | |
| </highlight> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>CacheSocacheReadTime</name> | |
| <description>The minimum time (in milliseconds) that should elapse while reading | |
| before data is sent downstream</description> | |
| <syntax>CacheSocacheReadTime <var>milliseconds</var></syntax> | |
| <default>CacheSocacheReadTime 0</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context> | |
| <context>directory</context> | |
| <context>.htaccess</context> | |
| </contextlist> | |
| <compatibility>Available in Apache 2.4.5 and later</compatibility> | |
| <usage> | |
| <p>The <directive>CacheSocacheReadTime</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_cache_socache">CacheSocacheReadSize</directive> directive | |
| to ensure that the server does not buffer excessively should data arrive faster | |
| than expected.</p> | |
| <highlight language="config"> | |
| CacheSocacheReadTime 1000 | |
| </highlight> | |
| </usage> | |
| </directivesynopsis> | |
| </modulesynopsis> |