| <!DOCTYPE html SYSTEM "about:legacy-compat"> | |
| <html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
| <meta content="width=device-width, initial-scale=1" name="viewport"> | |
| <!-- | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| This file is generated from xml source: DO NOT EDIT | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| --> | |
| <title>mod_cache_socache - Apache HTTP Server Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css"> | |
| <script src="../style/scripts/prettify.min.js"> | |
| </script> | |
| <link href="../images/favicon.png" rel="shortcut icon"></head> | |
| <body> | |
| <div id="page-header"> | |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p> | |
| <p class="apache">Apache HTTP Server Version 2.5</p> | |
| <img alt="" src="../images/feather.png"></div> | |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif"></a></div> | |
| <div id="path"> | |
| <a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">HTTP Server</a> > <a href="https://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> | |
| <div id="page-content"> | |
| <div id="preamble"><h1>Apache Module mod_cache_socache</h1> | |
| <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> | |
| <div class="toplang"> | |
| <p><span>Available Languages: </span><a href="../en/mod/mod_cache_socache.html" title="English"> en </a> | | |
| <a href="../fr/mod/mod_cache_socache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> | |
| </div> | |
| <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Shared object cache (socache) based storage module for the | |
| HTTP caching filter.</td></tr> | |
| <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr> | |
| <tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>cache_socache_module</td></tr> | |
| <tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_cache_socache.c</td></tr></table> | |
| <h3>Summary</h3> | |
| <p><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> implements a shared object cache | |
| (socache) based storage manager for <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</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> | |
| <pre class="prettyprint lang-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></pre> | |
| <div class="note"><h3>Note:</h3> | |
| <p><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> requires the services of | |
| <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>, which must be loaded before | |
| <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</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="#cachesocache">CacheSocache</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#cachesocachemaxsize">CacheSocacheMaxSize</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#cachesocachemaxtime">CacheSocacheMaxTime</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#cachesocachemintime">CacheSocacheMinTime</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#cachesocachereadsize">CacheSocacheReadSize</a></li> | |
| <li><img alt="" src="../images/down.gif"> <a href="#cachesocachereadtime">CacheSocacheReadTime</a></li> | |
| </ul> | |
| <h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_socache">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_socache">Report a bug</a></li></ul><h3>See also</h3> | |
| <ul class="seealso"> | |
| <li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li> | |
| <li><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></li> | |
| <li><a href="../caching.html">Caching Guide</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 id="cachesocache"><span id="CacheSocache">CacheSocache</span> Directive <a title="Permanent link" href="#cachesocache" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The shared object cache implementation to use</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocache <var>type[:args]</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>Extension</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> | |
| </table> | |
| <p>The <code class="directive">CacheSocache</code> 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> | |
| <pre class="prettyprint lang-config">CacheSocache shmcb</pre> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="cachesocachemaxsize"><span id="CacheSocacheMaxSize">CacheSocacheMaxSize</span> Directive <a title="Permanent link" href="#cachesocachemaxsize" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum size (in bytes) of an entry to be placed in the | |
| cache</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheMaxSize <var>bytes</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheMaxSize 102400</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> | |
| </table> | |
| <p>The <code class="directive">CacheSocacheMaxSize</code> 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 <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> 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 | |
| <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> module to have an opportunity to cache | |
| responses larger than those cacheable within | |
| <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>.</p> | |
| <pre class="prettyprint lang-config">CacheSocacheMaxSize 102400</pre> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="cachesocachemaxtime"><span id="CacheSocacheMaxTime">CacheSocacheMaxTime</span> Directive <a title="Permanent link" href="#cachesocachemaxtime" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The maximum time (in seconds) for a document to be placed in the | |
| cache</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheMaxTime <var>seconds</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheMaxTime 86400</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> | |
| </table> | |
| <p>The <code class="directive">CacheSocacheMaxTime</code> 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> | |
| <pre class="prettyprint lang-config">CacheSocacheMaxTime 86400</pre> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="cachesocachemintime"><span id="CacheSocacheMinTime">CacheSocacheMinTime</span> Directive <a title="Permanent link" href="#cachesocachemintime" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum time (in seconds) for a document to be placed in the | |
| cache</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheMinTime <var>seconds</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheMinTime 600</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> | |
| </table> | |
| <p>The <code class="directive">CacheSocacheMinTime</code> 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> | |
| <pre class="prettyprint lang-config">CacheSocacheMinTime 600</pre> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="cachesocachereadsize"><span id="CacheSocacheReadSize">CacheSocacheReadSize</span> Directive <a title="Permanent link" href="#cachesocachereadsize" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum size (in bytes) of the document to read and be cached | |
| before sending the data downstream</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheReadSize <var>bytes</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheReadSize 0</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> | |
| </table> | |
| <p>The <code class="directive">CacheSocacheReadSize</code> 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> | |
| <pre class="prettyprint lang-config">CacheSocacheReadSize 102400</pre> | |
| </div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="directive-section"><h2 id="cachesocachereadtime"><span id="CacheSocacheReadTime">CacheSocacheReadTime</span> Directive <a title="Permanent link" href="#cachesocachereadtime" class="permalink">¶</a></h2> | |
| <table class="directive"> | |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The minimum time (in milliseconds) that should elapse while reading | |
| before data is sent downstream</td></tr> | |
| <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CacheSocacheReadTime <var>milliseconds</var></code></td></tr> | |
| <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>CacheSocacheReadTime 0</code></td></tr> | |
| <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr> | |
| <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr> | |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr> | |
| <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.4.5 and later</td></tr> | |
| </table> | |
| <p>The <code class="directive">CacheSocacheReadTime</code> 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 | |
| <code class="directive"><a href="#cachesocachereadsize">CacheSocacheReadSize</a></code> directive | |
| to ensure that the server does not buffer excessively should data arrive faster | |
| than expected.</p> | |
| <pre class="prettyprint lang-config">CacheSocacheReadTime 1000</pre> | |
| </div> | |
| </div> | |
| <div class="bottomlang"> | |
| <p><span>Available Languages: </span><a href="../en/mod/mod_cache_socache.html" title="English"> en </a> | | |
| <a href="../fr/mod/mod_cache_socache.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> | |
| </div><div id="footer"> | |
| <p class="apache">Copyright 2026 The Apache Software Foundation.<br>Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> | |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p></div><script><!--//--><![CDATA[//><!-- | |
| if (typeof(prettyPrint) !== 'undefined') { | |
| prettyPrint(); | |
| } | |
| var langToggle = document.querySelector('.lang-toggle'); | |
| var topLang = document.querySelector('.toplang'); | |
| if (langToggle && topLang) { | |
| langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); | |
| } | |
| var qv = document.getElementById('quickview'); | |
| if (qv) { | |
| document.body.appendChild(qv); | |
| var qvBtn = document.createElement('button'); | |
| qvBtn.className = 'qv-toggle'; | |
| qvBtn.setAttribute('aria-label', 'Toggle page navigation'); | |
| qvBtn.innerHTML = '☰'; | |
| document.body.appendChild(qvBtn); | |
| qvBtn.addEventListener('click', function() { | |
| var isOpen = qv.classList.toggle('open'); | |
| if (isOpen) { | |
| qv.style.top = window.scrollY + 10 + 'px'; | |
| } | |
| }); | |
| window.addEventListener('scroll', function() { qv.classList.remove('open'); }); | |
| } | |
| //--><!]]></script> | |
| </body></html> |