|
|
@@ -2,171 +2,197 @@
|
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.cache.backends">
|
|
|
<title>Zend_Cache Backends</title>
|
|
|
+
|
|
|
<para>
|
|
|
There are two kinds of backends: standard ones and extended ones. Of course, extended
|
|
|
backends offer more features.
|
|
|
</para>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.file">
|
|
|
<title>Zend_Cache_Backend_File</title>
|
|
|
+
|
|
|
<para>
|
|
|
This (extended) backends stores cache records into files (in a choosen directory).
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Available options are :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.file.table">
|
|
|
<title>File Backend Options</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Data Type</entry>
|
|
|
<entry>Default Value</entry>
|
|
|
<entry>Description</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>cache_dir</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'<filename>/tmp/</filename>'</entry>
|
|
|
- <entry>
|
|
|
- Directory where to store cache files
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>file_locking</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>TRUE</constant></entry>
|
|
|
- <entry>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_dir</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'<filename>/tmp/</filename>'</entry>
|
|
|
+ <entry>Directory where to store cache files</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_locking</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Enable or disable file_locking : Can avoid cache corruption under
|
|
|
bad circumstances but it doesn't help on multithread webservers
|
|
|
or on <acronym>NFS</acronym> filesystems...
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>read_control</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>TRUE</constant></entry>
|
|
|
- <entry>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>read_control</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Enable / disable read control : if enabled, a control key is
|
|
|
embedded in the cache file and this key is compared with the
|
|
|
one calculated after the reading.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>read_control_type</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'crc32'</entry>
|
|
|
- <entry>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>read_control_type</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'crc32'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Type of read control (only if read control is enabled). Available values
|
|
|
are : 'md5' (best but slowest), 'crc32' (lightly less safe but faster,
|
|
|
better choice), 'adler32' (new choice, faster than crc32),
|
|
|
'strlen' for a length only test (fastest).
|
|
|
</entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>hashed_directory_level</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0</entry>
|
|
|
- <entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>hashed_directory_level</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Hashed directory structure level : 0 means "no hashed directory
|
|
|
- structure", 1 means "one level of directory", 2 means "two levels"...
|
|
|
- This option can speed up the cache only when you have many thousands of
|
|
|
- cache files. Only specific benchs can help you to choose the perfect
|
|
|
- value for you. Maybe, 1 or 2 is a good start.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>hashed_directory_umask</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0700</entry>
|
|
|
- <entry>
|
|
|
- Umask for the hashed directory structure
|
|
|
+ structure", 1 means "one level of directory", 2 means "two levels"...
|
|
|
+ This option can speed up the cache only when you have many thousands of
|
|
|
+ cache files. Only specific benchs can help you to choose the perfect
|
|
|
+ value for you. Maybe, 1 or 2 is a good start.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>hashed_directory_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>Umask for the hashed directory structure</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_name_prefix</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'zend_cache'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ prefix for cache files ; be really careful with this option because
|
|
|
+ a too generic value in a system cache dir
|
|
|
+ (like <filename>/tmp</filename>) can cause disasters when cleaning
|
|
|
+ the cache
|
|
|
</entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>file_name_prefix</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'zend_cache'</entry>
|
|
|
- <entry>
|
|
|
- prefix for cache files ; be really careful with this option because
|
|
|
- a too generic value in a system cache dir
|
|
|
- (like <filename>/tmp</filename>) can cause disasters when cleaning
|
|
|
- the cache
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_file_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>umask for cache files</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>100</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ internal max size for the metadatas array (don't change this value
|
|
|
+ unless you know what you are doing)
|
|
|
</entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>cache_file_umask</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0700</entry>
|
|
|
- <entry>
|
|
|
- umask for cache files
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>100</entry>
|
|
|
- <entry>
|
|
|
- internal max size for the metadatas array (don't change this value
|
|
|
- unless you know what you are doing)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.sqlite">
|
|
|
<title>Zend_Cache_Backend_Sqlite</title>
|
|
|
+
|
|
|
<para>
|
|
|
This (extended) backends stores cache records into a SQLite database.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Available options are :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.sqlite.table">
|
|
|
<title>Sqlite Backend Options</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
- <entry>Option</entry>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Option</entry>
|
|
|
<entry>Data Type</entry>
|
|
|
<entry>Default Value</entry>
|
|
|
<entry>Description</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>cache_db_complete_path (mandatory)</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry><constant>NULL</constant></entry>
|
|
|
- <entry>
|
|
|
- The complete path (filename included) of the SQLite database
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>10</entry>
|
|
|
- <entry>
|
|
|
- Disable / Tune the automatic vacuum process. The automatic vacuum
|
|
|
- process defragment the database file (and make it smaller) when a
|
|
|
- <methodname>clean()</methodname> or <methodname>delete()</methodname>
|
|
|
- is called: 0 means no automatic vacuum ; 1 means systematic vacuum
|
|
|
- (when <methodname>delete()</methodname> or
|
|
|
- <methodname>clean()</methodname> methods are called) ; x (integer) >
|
|
|
- 1 => automatic vacuum randomly 1 times on x
|
|
|
- <methodname>clean()</methodname> or
|
|
|
- <methodname>delete()</methodname>.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_db_complete_path (mandatory)</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry><constant>NULL</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ The complete path (filename included) of the SQLite database
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>10</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Disable / Tune the automatic vacuum process. The automatic vacuum
|
|
|
+ process defragment the database file (and make it smaller) when a
|
|
|
+ <methodname>clean()</methodname> or <methodname>delete()</methodname>
|
|
|
+ is called: 0 means no automatic vacuum ; 1 means systematic vacuum
|
|
|
+ (when <methodname>delete()</methodname> or
|
|
|
+ <methodname>clean()</methodname> methods are called) ; x (integer) >
|
|
|
+ 1 => automatic vacuum randomly 1 times on x
|
|
|
+ <methodname>clean()</methodname> or
|
|
|
+ <methodname>delete()</methodname>.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.memcached">
|
|
|
<title>Zend_Cache_Backend_Memcached</title>
|
|
|
+
|
|
|
<para>
|
|
|
This (extended) backends stores cache records into a memcached server. <ulink
|
|
|
url="http://www.danga.com/memcached/">memcached</ulink> is a high-performance,
|
|
|
@@ -174,310 +200,364 @@
|
|
|
daemon and <ulink url="http://pecl.php.net/package/memcache">the memcache
|
|
|
<acronym>PECL</acronym> extension</ulink>.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Be careful : with this backend, "tags" are not supported for the moment as
|
|
|
the "doNotTestCacheValidity=true" argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Available options are :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.memcached.table">
|
|
|
<title>Memcached Backend Options</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Data Type</entry>
|
|
|
<entry>Default Value</entry>
|
|
|
<entry>Description</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>servers</emphasis></entry>
|
|
|
- <entry><type>Array</type></entry>
|
|
|
- <entry>
|
|
|
- <command>array(array('host' => 'localhost', 'port' => 11211,
|
|
|
- 'persistent' => true, 'weight' => 1, 'timeout' => 5,
|
|
|
- 'retry_interval' => 15, 'status' => true,
|
|
|
- 'failure_callback' => '' ))</command>
|
|
|
- </entry>
|
|
|
- <entry>
|
|
|
- An array of memcached servers ; each memcached server is described by
|
|
|
- an associative array : 'host' => (string) : the name of the memcached
|
|
|
- server, 'port' => (int) : the port of the memcached server,
|
|
|
- 'persistent' => (bool) : use or not persistent connections to this
|
|
|
- memcached server 'weight' => (int) :the weight of the memcached
|
|
|
- server, 'timeout' => (int) :the time out of the memcached server,
|
|
|
- 'retry_interval' => (int) :the retry interval of the memcached server,
|
|
|
- 'status' => (bool) :the status of the memcached server,
|
|
|
- 'failure_callback' => (callback) : the failure_callback of the
|
|
|
- memcached server
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>compression</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- <constant>TRUE</constant> if you want to use on-the-fly compression
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>compatibility</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- <constant>TRUE</constant> if you want to use this compatibility mode
|
|
|
- with old memcache servers or extensions
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>servers</emphasis></entry>
|
|
|
+ <entry><type>Array</type></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <command>array(array('host' => 'localhost', 'port' => 11211,
|
|
|
+ 'persistent' => true, 'weight' => 1, 'timeout' => 5,
|
|
|
+ 'retry_interval' => 15, 'status' => true,
|
|
|
+ 'failure_callback' => '' ))</command>
|
|
|
+ </entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ An array of memcached servers ; each memcached server is described by
|
|
|
+ an associative array : 'host' => (string) : the name of the memcached
|
|
|
+ server, 'port' => (int) : the port of the memcached server,
|
|
|
+ 'persistent' => (bool) : use or not persistent connections to this
|
|
|
+ memcached server 'weight' => (int) :the weight of the memcached
|
|
|
+ server, 'timeout' => (int) :the time out of the memcached server,
|
|
|
+ 'retry_interval' => (int) :the retry interval of the memcached server,
|
|
|
+ 'status' => (bool) :the status of the memcached server,
|
|
|
+ 'failure_callback' => (callback) : the failure_callback of the
|
|
|
+ memcached server
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>compression</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <constant>TRUE</constant> if you want to use on-the-fly compression
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>compatibility</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <constant>TRUE</constant> if you want to use this compatibility mode
|
|
|
+ with old memcache servers or extensions
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.apc">
|
|
|
<title>Zend_Cache_Backend_Apc</title>
|
|
|
+
|
|
|
<para>
|
|
|
This (extended) backends stores cache records in shared memory through
|
|
|
the <ulink url="http://pecl.php.net/package/APC">APC</ulink> (Alternative
|
|
|
<acronym>PHP</acronym> Cache) extension (which is of course need for using this
|
|
|
backend).
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Be careful : with this backend, "tags" are not supported for the moment as
|
|
|
the "doNotTestCacheValidity=true" argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
There is no option for this backend.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.xcache">
|
|
|
<title>Zend_Cache_Backend_Xcache</title>
|
|
|
+
|
|
|
<para>
|
|
|
This backends stores cache records in shared memory through
|
|
|
the <ulink url="http://xcache.lighttpd.net/">XCache</ulink> extension
|
|
|
(which is of course need for using this backend).
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Be careful : with this backend, "tags" are not supported for the moment as
|
|
|
the "doNotTestCacheValidity=true" argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Available options are :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.xcache.table">
|
|
|
<title>Xcache Backend Options</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Data Type</entry>
|
|
|
<entry>Default Value</entry>
|
|
|
<entry>Description</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>user</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry><constant>NULL</constant></entry>
|
|
|
- <entry>
|
|
|
- <filename>xcache.admin.user</filename>, necessary for the
|
|
|
- <methodname>clean()</methodname> method
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>password</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry><constant>NULL</constant></entry>
|
|
|
- <entry>
|
|
|
- <filename>xcache.admin.pass</filename> (in clear form, not
|
|
|
- <acronym>MD5</acronym>), necessary for the
|
|
|
- <methodname>clean()</methodname> method
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>user</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry><constant>NULL</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <filename>xcache.admin.user</filename>, necessary for the
|
|
|
+ <methodname>clean()</methodname> method
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>password</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry><constant>NULL</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <filename>xcache.admin.pass</filename> (in clear form, not
|
|
|
+ <acronym>MD5</acronym>), necessary for the
|
|
|
+ <methodname>clean()</methodname> method
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.platform">
|
|
|
<title>Zend_Cache_Backend_ZendPlatform</title>
|
|
|
+
|
|
|
<para>
|
|
|
This backend uses content caching <acronym>API</acronym> of the <ulink
|
|
|
url="http://www.zend.com/en/products/platform/">Zend Platform</ulink> product.
|
|
|
Naturally, to use this backend you need to have Zend Platform installed.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
This backend supports tags, but does not support
|
|
|
<constant>CLEANING_MODE_NOT_MATCHING_TAG</constant> cleaning mode.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Specify this backend using a word separator -- '-', '.', ' ', or '_'
|
|
|
-- between the words 'Zend' and 'Platform' when using the
|
|
|
<methodname>Zend_Cache::factory()</methodname> method:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$cache = Zend_Cache::factory('Core', 'Zend Platform');
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
There are no options for this backend.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.twolevels">
|
|
|
<title>Zend_Cache_Backend_TwoLevels</title>
|
|
|
+
|
|
|
<para>
|
|
|
This (extend) backend is an hybrid one. It stores cache records in two other backends :
|
|
|
a fast one (but limited) like Apc, Memcache... and a "slow" one like File, Sqlite...
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
This backend will use the priority parameter (given at the frontend level when storing a
|
|
|
record) and the remaining space in the fast backend to optimize the usage of these two
|
|
|
backends.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Specify this backend using a word separator -- '-', '.', ' ', or '_'
|
|
|
-- between the words 'Two' and 'Levels' when using the
|
|
|
<methodname>Zend_Cache::factory()</methodname> method:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$cache = Zend_Cache::factory('Core', 'Two Levels');
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
Available options are :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.twolevels.table">
|
|
|
<title>TwoLevels Backend Options</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Data Type</entry>
|
|
|
<entry>Default Value</entry>
|
|
|
<entry>Description</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>File</entry>
|
|
|
- <entry>
|
|
|
- the "slow" backend name
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>Apc</entry>
|
|
|
- <entry>
|
|
|
- the "fast" backend name
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend_options</emphasis></entry>
|
|
|
- <entry><type>Array</type></entry>
|
|
|
- <entry><methodname>array()</methodname></entry>
|
|
|
- <entry>
|
|
|
- the "slow" backend options
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend_options</emphasis></entry>
|
|
|
- <entry><type>Array</type></entry>
|
|
|
- <entry><methodname>array()</methodname></entry>
|
|
|
- <entry>
|
|
|
- the "fast" backend options
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- if <constant>TRUE</constant>, the slow_backend argument is used as a
|
|
|
- complete class name; if <constant>FALSE</constant>,
|
|
|
- the frontend argument is used as the end of
|
|
|
- "<classname>Zend_Cache_Backend_</classname>[...]" class name
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- if <constant>TRUE</constant>, the fast_backend argument is used as a
|
|
|
- complete class name; if <constant>FALSE</constant>,
|
|
|
- the frontend argument is used as the end of
|
|
|
- "<classname>Zend_Cache_Backend_</classname>[...]" class name
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend_autoload</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- if <constant>TRUE</constant>, there will no require_once for the
|
|
|
- slow backend (useful only for custom backends)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend_autoload</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- if <constant>TRUE</constant>, there will no require_once for the fast
|
|
|
- backend (useful only for custom backends)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>TRUE</constant></entry>
|
|
|
- <entry>
|
|
|
- if <constant>TRUE</constant>, auto refresh the fast cache when a
|
|
|
- cache record is hit
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>stats_update_factor</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>10</entry>
|
|
|
- <entry>
|
|
|
- disable / tune the computation of the fast backend filling percentage
|
|
|
- (when saving a record into cache, computation of the fast backend
|
|
|
- filling percentage randomly 1 times on x cache writes)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>File</entry>
|
|
|
+ <entry>the "slow" backend name</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>Apc</entry>
|
|
|
+ <entry>the "fast" backend name</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend_options</emphasis></entry>
|
|
|
+ <entry><type>Array</type></entry>
|
|
|
+ <entry><methodname>array()</methodname></entry>
|
|
|
+ <entry>the "slow" backend options</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend_options</emphasis></entry>
|
|
|
+ <entry><type>Array</type></entry>
|
|
|
+ <entry><methodname>array()</methodname></entry>
|
|
|
+ <entry>the "fast" backend options</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ if <constant>TRUE</constant>, the slow_backend argument is used as a
|
|
|
+ complete class name; if <constant>FALSE</constant>,
|
|
|
+ the frontend argument is used as the end of
|
|
|
+ "<classname>Zend_Cache_Backend_</classname>[...]" class name
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ if <constant>TRUE</constant>, the fast_backend argument is used as a
|
|
|
+ complete class name; if <constant>FALSE</constant>,
|
|
|
+ the frontend argument is used as the end of
|
|
|
+ "<classname>Zend_Cache_Backend_</classname>[...]" class name
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend_autoload</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ if <constant>TRUE</constant>, there will no require_once for the
|
|
|
+ slow backend (useful only for custom backends)
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend_autoload</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ if <constant>TRUE</constant>, there will no require_once for the fast
|
|
|
+ backend (useful only for custom backends)
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ if <constant>TRUE</constant>, auto refresh the fast cache when a
|
|
|
+ cache record is hit
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>stats_update_factor</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>10</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ disable / tune the computation of the fast backend filling percentage
|
|
|
+ (when saving a record into cache, computation of the fast backend
|
|
|
+ filling percentage randomly 1 times on x cache writes)
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.zendserver">
|
|
|
<title>Zend_Cache_Backend_ZendServer_Disk and Zend_Cache_Backend_ZendServer_ShMem</title>
|
|
|
+
|
|
|
<para>
|
|
|
These backends store cache records using <ulink
|
|
|
url="http://www.zend.com/en/products/server/downloads-all?zfs=zf_download">Zend
|
|
|
Server</ulink> caching functionality.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Be careful: with these backends, "tags" are not supported for the moment as the
|
|
|
"doNotTestCacheValidity=true" argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
These backend work only withing Zend Server environment for pages requested through
|
|
|
<acronym>HTTP</acronym> or <acronym>HTTPS</acronym> and don't work for command line
|
|
|
script execution
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Specify this backend using parameter <emphasis>customBackendNaming</emphasis> as
|
|
|
<constant>TRUE</constant> when using the <methodname>Zend_Cache::factory()</methodname>
|
|
|
method:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
|
|
|
$frontendOptions, $backendOptions, false, true);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
There is no option for this backend.
|
|
|
</para>
|
|
|
@@ -485,12 +565,14 @@ $cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
|
|
|
|
|
|
<sect2 id="zend.cache.backends.static">
|
|
|
<title>Zend_Cache_Backend_Static</title>
|
|
|
+
|
|
|
<para>
|
|
|
This backend works in concert with <classname>Zend_Cache_Frontend_Capture</classname>
|
|
|
(the two must be used together) to save the output from requests as static files. This
|
|
|
means the static files are served directly on subsequent requests without any
|
|
|
involvement of <acronym>PHP</acronym> or Zend Framework at all.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
The benefits of this cache include a large throughput increase since
|
|
|
all subsequent requests return the static file and don't need any
|
|
|
@@ -502,6 +584,7 @@ $cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
|
|
|
getting more performance without incurring the cost of a proxy on
|
|
|
single machines.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Before describing its options, you should note this needs some
|
|
|
changes to the default <filename>.htaccess</filename> file in order for requests to be
|
|
|
@@ -510,6 +593,7 @@ $cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
|
|
|
feeds which need additional treatment to serve a correct
|
|
|
Content-Type header:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="text"><![CDATA[
|
|
|
AddType application/rss+xml .xml
|
|
|
AddType application/atom+xml .xml
|
|
|
@@ -536,11 +620,13 @@ RewriteRule ^.*$ - [NC,L]
|
|
|
|
|
|
RewriteRule ^.*$ index.php [NC,L]
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
The above assumes static files are cached to the directory
|
|
|
<filename>./public/cached</filename>. We'll cover the option setting this location,
|
|
|
"public_dir", below.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Due to the nature of static file caching, the backend class offers two additional
|
|
|
methods: <methodname>remove()</methodname> and
|
|
|
@@ -553,6 +639,7 @@ RewriteRule ^.*$ index.php [NC,L]
|
|
|
is calculated by applying <methodname>bin2hex()</methodname> to a request
|
|
|
<acronym>URI</acronym>.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Given the level at which static caching operates, static file caching is addressed for
|
|
|
simpler use with the <classname>Zend_Controller_Action_Helper_Cache</classname> action
|
|
|
@@ -564,138 +651,152 @@ RewriteRule ^.*$ index.php [NC,L]
|
|
|
"page"). The defaults therein can be configured as needed to set up a "public_dir"
|
|
|
location for caching, etc.
|
|
|
</para>
|
|
|
+
|
|
|
<note>
|
|
|
<para>
|
|
|
It should be noted that the static cache actually uses a secondary cache to store
|
|
|
tags (obviously we can't store them elsewhere since a static cache does not invoke
|
|
|
- <acronym>PHP</acronym> if working correctly). This is just a standard Core cache, and
|
|
|
- should use a persistent backend such as File or TwoLevels (to take advantage of
|
|
|
+ <acronym>PHP</acronym> if working correctly). This is just a standard Core cache,
|
|
|
+ and should use a persistent backend such as File or TwoLevels (to take advantage of
|
|
|
memory storage without sacrificing permanent persistance). The backend includes the
|
|
|
option "tag_cache" to set this up (it is obligatory), or the
|
|
|
<methodname>setInnerCache()</methodname> method.
|
|
|
</para>
|
|
|
</note>
|
|
|
+
|
|
|
<table id="zend.cache.backends.static.table">
|
|
|
<title>Static Backend Options</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Data Type</entry>
|
|
|
<entry>Default Value</entry>
|
|
|
<entry>Description</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>public_dir</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry><constant>NULL</constant></entry>
|
|
|
- <entry>
|
|
|
- Directory where to store static files. This must exist
|
|
|
- in your public directory.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>file_locking</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>TRUE</constant></entry>
|
|
|
- <entry>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>public_dir</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry><constant>NULL</constant></entry>
|
|
|
+ <entry>
|
|
|
+ Directory where to store static files. This must exist
|
|
|
+ in your public directory.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_locking</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Enable or disable file_locking : Can avoid cache corruption under
|
|
|
bad circumstances but it doesn't help on multithread webservers
|
|
|
or on <acronym>NFS</acronym> filesystems...
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>read_control</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>TRUE</constant></entry>
|
|
|
- <entry>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>read_control</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Enable / disable read control : if enabled, a control key is
|
|
|
embedded in the cache file and this key is compared with the
|
|
|
one calculated after the reading.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>read_control_type</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'crc32'</entry>
|
|
|
- <entry>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>read_control_type</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'crc32'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Type of read control (only if read control is enabled). Available values
|
|
|
are : 'md5' (best but slowest), 'crc32' (lightly less safe but faster,
|
|
|
better choice), 'adler32' (new choice, faster than crc32),
|
|
|
'strlen' for a length only test (fastest).
|
|
|
</entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>cache_file_umask</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0700</entry>
|
|
|
- <entry>
|
|
|
- umask for cached files.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>cache_directory_umask</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0700</entry>
|
|
|
- <entry>
|
|
|
- Umask for directories created within public_dir.
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_file_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>umask for cached files.</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_directory_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>Umask for directories created within public_dir.</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_extension</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'<filename>.html</filename>'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Default file extension for static files created. This can be
|
|
|
+ configured on the fly, see
|
|
|
+ <methodname>Zend_Cache_Backend_Static::save()</methodname> though
|
|
|
+ generally it's recommended to rely on
|
|
|
+ <classname>Zend_Controller_Action_Helper_Cache</classname> when
|
|
|
+ doing so since it's simpler that way than messing with
|
|
|
+ arrays or serialization manually.
|
|
|
</entry>
|
|
|
- </row>
|
|
|
-
|
|
|
- <row>
|
|
|
- <entry><emphasis>file_extension</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'<filename>.html</filename>'</entry>
|
|
|
- <entry>
|
|
|
- Default file extension for static files created. This can be
|
|
|
- configured on the fly, see
|
|
|
- <methodname>Zend_Cache_Backend_Static::save()</methodname> though
|
|
|
- generally it's recommended to rely on
|
|
|
- <classname>Zend_Controller_Action_Helper_Cache</classname> when
|
|
|
- doing so since it's simpler that way than messing with
|
|
|
- arrays or serialization manually.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>index_filename</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'index'</entry>
|
|
|
- <entry>
|
|
|
- If a request <acronym>URI</acronym> does not contain sufficient
|
|
|
- information to construct a static file (usually this means an index
|
|
|
- call, e.g. <acronym>URI</acronym> of '/'), the index_filename is used
|
|
|
- instead. So '' or '/' would map to '<filename>index.html</filename>'
|
|
|
- (assuming the default file_extension is '<filename>.html</filename>').
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>tag_cache</emphasis></entry>
|
|
|
- <entry><type>Object</type></entry>
|
|
|
- <entry><constant>NULL</constant></entry>
|
|
|
- <entry>
|
|
|
- Used to set an 'inner' cache utilised to store tags
|
|
|
- and file extensions associated with static files. This
|
|
|
- <emphasis>must</emphasis> be set or the static cache cannot be tracked
|
|
|
- and managed.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>disable_caching</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- If set to <constant>TRUE</constant>, static files will not be cached.
|
|
|
- This will force all requests to be dynamic even if marked
|
|
|
- to be cached in Controllers. Useful for debugging.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
- </sect2>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>index_filename</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'index'</entry>
|
|
|
|
|
|
+ <entry>
|
|
|
+ If a request <acronym>URI</acronym> does not contain sufficient
|
|
|
+ information to construct a static file (usually this means an index
|
|
|
+ call, e.g. <acronym>URI</acronym> of '/'), the index_filename is used
|
|
|
+ instead. So '' or '/' would map to '<filename>index.html</filename>'
|
|
|
+ (assuming the default file_extension is '<filename>.html</filename>').
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>tag_cache</emphasis></entry>
|
|
|
+ <entry><type>Object</type></entry>
|
|
|
+ <entry><constant>NULL</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Used to set an 'inner' cache utilised to store tags
|
|
|
+ and file extensions associated with static files. This
|
|
|
+ <emphasis>must</emphasis> be set or the static cache cannot be tracked
|
|
|
+ and managed.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>disable_caching</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ If set to <constant>TRUE</constant>, static files will not be cached.
|
|
|
+ This will force all requests to be dynamic even if marked
|
|
|
+ to be cached in Controllers. Useful for debugging.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect2>
|
|
|
</sect1>
|
|
|
<!--
|
|
|
vim:se ts=4 sw=4 et:
|