blob: b02b0120d25bc0717994b3408a3a88b78052052b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--><title>mod_mem_cache - Apache HTTP Server</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 href="../images/favicon.ico" rel="shortcut icon" /></head><body><div id="page-header"><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p><p class="apache">Apache HTTP Server Version 2.0</p><img alt="" src="../images/feather.gif" /></div><div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="../">Version 2.0</a> > <a href="./">Modules</a></div><div id="page-content"><div id="preamble"><h1>Apache Module mod_mem_cache</h1><table class="module"><tr><th><a href="module-dict.html#Description">Description:
</a></th><td>Content cache keyed to URIs</td></tr><tr><th><a href="module-dict.html#Status">Status:
</a></th><td>Experimental</td></tr><tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:
</a></th><td>mem_cache_module</td></tr><tr><th><a href="module-dict.html#SourceFile">Source�File:
</a></th><td>mod_mem_cache.c</td></tr></table><h3>Summary</h3>
<div class="warning">
This module is experimental. Documentation is still under development...
</div>
<p><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> implements a memory based storage manager.
<code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> can be configured to operate in two modes:
caching open file descriptors or caching objects in heap storage.
<code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> is most useful when used to cache locally
generated content or to cache backend server content for
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> configured for
<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> (aka <dfn>reverse proxy</dfn>)</p>
<p>Content is stored in and retrieved from the cache using URI based keys. Content with
access protection is not cached.</p>
<div class="note"><h3>Note:</h3>
<p><code class="module"><a href="../mod/mod_mem_cache.html">mod_mem_cache</a></code> requires the services of <code class="module"><a href="../mod/mod_cache.html">mod_cache</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="#mcachemaxobjectcount">MCacheMaxObjectCount</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mcachemaxobjectsize">MCacheMaxObjectSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mcacheminobjectsize">MCacheMinObjectSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mcacheremovalalgorithm">MCacheRemovalAlgorithm</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mcachesize">MCacheSize</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><a name="MCacheMaxObjectCount" id="MCacheMaxObjectCount">MCacheMaxObjectCount</a> <a name="mcachemaxobjectcount" id="mcachemaxobjectcount">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The maximum number of objects allowed to be placed in the cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>MCacheMaxObjectCount <var>value</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheMaxObjectCount 1009</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>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheMaxObjectCount</code> directive sets the maximum
number of objects to be cached. If a new object needs to be inserted in the cache
and the maximum number of objects has been reached, an object will be removed
to allow the new object to be cached. The object to be removed is selected using
the algorithm specified by <code class="directive">MCacheRemovalAlgorithm</code>.</p>
<div class="note"><h3>Note:</h3>
The value of <code class="directive">MCacheMaxObjectCount</code> is used to create
the open hash table.
</div>
<div class="example"><p><code>
MCacheMaxObjectCount 13001<br />
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheMaxObjectSize" id="MCacheMaxObjectSize">MCacheMaxObjectSize</a> <a name="mcachemaxobjectsize" id="mcachemaxobjectsize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The maximum size (in bytes) of a document allowed in the
cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>MCacheMaxObjectSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheMaxObjectSize 10000</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>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheMaxObjectSize</code> directive sets the maximum
allowable size, in bytes, of a document for it to be considered cacheable.</p>
<div class="warning"><h3>Note:</h3>
The value of <code class="directive">MCacheMaxObjectSize</code> must be greater
than the value specified by the <code class="directive">MCacheMinObjectSize</code>
directive.
</div>
<div class="example"><p><code>
MCacheMaxObjectSize 6400000<br />
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheMinObjectSize" id="MCacheMinObjectSize">MCacheMinObjectSize</a> <a name="mcacheminobjectsize" id="mcacheminobjectsize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The minimum size (in bytes) of a document to be allowed in the
cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>MCacheMinObjectSize <var>bytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheMinObjectSize 0</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>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheMinObjectSize</code> directive sets the minimum
size in bytes of a document for it to be considered cacheable.</p>
<div class="example"><p><code>
MCacheMinObjectSize 10000<br />
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheRemovalAlgorithm" id="MCacheRemovalAlgorithm">MCacheRemovalAlgorithm</a> <a name="mcacheremovalalgorithm" id="mcacheremovalalgorithm">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The algorithm used to select documents for removal from the
cache</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>MCacheRemovalAlgorithm <code>LRU|GDSF</code></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheRemovalAlgorithm GDSF</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>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheRemovalAlgorithm</code> directive specifies
the algorithm used to select documents for removal from the cache.
Two choices are available:<br />
<code>LRU</code> (Least Recently Used): <code>LRU</code> removes the
documents that have not been accessed for the longest time.<br />
<code>GDSF</code> (GreadyDual-Size): <code>GDSF</code> assigns a priority
to cached documents based on the cost of a cache miss and the size of
the document. Documents with the lowest priority are removed first.</p>
<div class="example"><p><code>
MCacheRemovalAlgorithm GDSF<br />
MCacheRemovalAlgorithm LRU<br />
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="MCacheSize" id="MCacheSize">MCacheSize</a> <a name="mcachesize" id="mcachesize">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
</a></th><td>The maximum amount of memory used by the cache in KBytes</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
</a></th><td><code>MCacheSize <var>KBytes</var></code></td></tr><tr><th><a href="directive-dict.html#Default">Default:
</a></th><td><code>MCacheSize 100</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>Experimental</td></tr><tr><th><a href="directive-dict.html#Module">Module:
</a></th><td>mod_mem_cache</td></tr></table>
<p>The <code class="directive">MCacheSize</code> directive sets the maximum amount of memory
to be used by the cache, in KBytes (1024-byte units). If a new object needs to be
inserted in the cache and the size of the object is greater than the
remaining memory, objects will be removed until the new object can be cached.
The object to be removed is selected using the algorithm specified by
<code class="directive">MCacheRemovalAlgorithm</code>.</p>
<div class="warning"><h3>Note:</h3>
The <code class="directive">MCacheSize</code> value must be greater than the value
specified by the <code class="directive">MCacheMaxObjectSize</code> directive.
</div>
<div class="example"><p><code>
MCacheSize 700000<br />
</code></p></div>
</div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>
|