|
|
@@ -1,8 +1,9 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 17749 -->
|
|
|
+<!-- EN-Revision: 20756 -->
|
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.cache.backends">
|
|
|
<title>Zend_Cache Backends</title>
|
|
|
+
|
|
|
<para>
|
|
|
Es gibt zwei Arten von Backends: Standard und erweiterte. Natürlich bieten erweiterte
|
|
|
Backends mehr Features.
|
|
|
@@ -10,169 +11,193 @@
|
|
|
|
|
|
<sect2 id="zend.cache.backends.file">
|
|
|
<title>Zend_Cache_Backend_File</title>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses (erweiterte) Backend speichert Cache Datensätze in Dateien (in einem gewählten
|
|
|
Verzeichnis).
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Mögliche Optionen sind :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.file.table">
|
|
|
<title>File Backend Optionen</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Daten Typ</entry>
|
|
|
<entry>Standardwert</entry>
|
|
|
<entry>Beschreibung</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>cache_dir</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'<filename>/tmp/</filename>'</entry>
|
|
|
- <entry>
|
|
|
- Verzeichnis, in dem die Cache Dateien gespeichert werden
|
|
|
- </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>
|
|
|
+ Verzeichnis, in dem die Cache Dateien gespeichert werden
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_locking</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
Ein- oder Ausschalten von file_locking: kann die Beschädigung des
|
|
|
Caches unter schlechten Bedingungen verhindern, aber es hilft nicht bei
|
|
|
Multithreaded Webservern oder bei <acronym>NFS</acronym>
|
|
|
Filesystemen...
|
|
|
- </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>
|
|
|
Ein- oder Ausschalten von read_control: eingeschaltet wird ein
|
|
|
Kontrollschlüssel im Cache File inkludiert und dieser Schlüssel wird mit
|
|
|
dem Schlüssel verglichen, der nach dem Lesen berechnet wird.
|
|
|
- </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>
|
|
|
Typ der Schreibkontrolle (nur wenn read_control eingeschaltet ist).
|
|
|
Mögliche Werte sind : 'md5' (bestes, aber am Langsamsten), 'crc32'
|
|
|
(etwas weniger sicher, aber schneller, beste Wahl), 'adler32' (neue
|
|
|
Wahl, schneller als crc32), 'strlen' um nur die Länge zu testen
|
|
|
(schnellstes).
|
|
|
</entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>hashed_directory_level</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0</entry>
|
|
|
- <entry>
|
|
|
- Level der gehashten Verzeichnis Struktur: 0 heißt "keine gehashte
|
|
|
- Verzeichnis Strutur, 1 heißt "ein Level von Verzeichnissen", 2 heißt
|
|
|
- "zwei Levels"... Diese Option kann den Cache nur dann schneller machen,
|
|
|
- wenn viele Tausende Cache Dateien verwendet werden. Nur spezielle
|
|
|
- Messungen können helfen, den perfekten Wert zu finden. Möglicherweise
|
|
|
- ist 1 oder 2 ein guter Anfang.
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>hashed_directory_umask</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0700</entry>
|
|
|
- <entry>
|
|
|
- Umask für die gehashte Verzeichnis Struktur
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>hashed_directory_level</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Level der gehashten Verzeichnis Struktur: 0 heißt "keine gehashte
|
|
|
+ Verzeichnis Strutur, 1 heißt "ein Level von Verzeichnissen", 2 heißt
|
|
|
+ "zwei Levels"... Diese Option kann den Cache nur dann schneller machen,
|
|
|
+ wenn viele Tausende Cache Dateien verwendet werden. Nur spezielle
|
|
|
+ Messungen können helfen, den perfekten Wert zu finden. Möglicherweise
|
|
|
+ ist 1 oder 2 ein guter Anfang.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>hashed_directory_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>Umask für die gehashte Verzeichnis Struktur</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_name_prefix</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'zend_cache'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Präfix für Cache Dateien; man muss mit dieser Option sehr vorsichtig
|
|
|
+ umgehen, weil ein zu generischer Wert in einem System Cache
|
|
|
+ Verzeichnis (wie <filename>/tmp</filename>) kann beim Löschen des
|
|
|
+ Caches zu großen Problemen führen.
|
|
|
</entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>file_name_prefix</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>'zend_cache'</entry>
|
|
|
- <entry>
|
|
|
- Präfix für Cache Dateien; man muss mit dieser Option sehr vorsichtig
|
|
|
- umgehen, weil ein zu generischer Wert in einem System Cache
|
|
|
- Verzeichnis (wie <filename>/tmp</filename>) kann beim Löschen des
|
|
|
- Caches zu großen Problemen führen.
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_file_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>umask nach Cache Dateien</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>100</entry>
|
|
|
+ <entry>
|
|
|
+ Interne maximale Größe für das Metadaten Array (dieser Wert sollte
|
|
|
+ nicht geändert werden außer man weiß was man macht)
|
|
|
</entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>cache_file_umask</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>0700</entry>
|
|
|
- <entry>
|
|
|
- umask nach Cache Dateien
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>100</entry>
|
|
|
- <entry>
|
|
|
- Interne maximale Größe für das Metadaten Array (dieser Wert sollte
|
|
|
- nicht geändert werden außer man weiß was man macht)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.sqlite">
|
|
|
<title>Zend_Cache_Backend_Sqlite</title>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses (erweiterte) Backend speichert die Cache Datensätze in einer SQLite Datenbank.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Mögliche Optionen sind :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.sqlite.table">
|
|
|
<title>Sqlite Backend Optionen</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
- <entry>Option</entry>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Option</entry>
|
|
|
<entry>Daten Typ</entry>
|
|
|
<entry>Standardwert</entry>
|
|
|
<entry>Beschreibung</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>
|
|
|
- Der komplette Pfad (inklusive Dateiname) der SQLite Datenbank
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>10</entry>
|
|
|
- <entry>
|
|
|
- Deaktiviert oder stellt den automatischen Vakuumprozess ein.
|
|
|
- Der automatische Vakuumprozess defragmentiert die Datenbankdatei (und
|
|
|
- verkleinert sie) wenn <methodname>clean()</methodname> oder
|
|
|
- <methodname>delete()</methodname> aufgerufen wird: 0 bedeutet kein
|
|
|
- automatisches Vakuum; 1 bedeutet systematisches Vakuum (wenn die
|
|
|
- <methodname>delete()</methodname> or <methodname>clean()</methodname>
|
|
|
- Methoden aufgerufen werden; x (integer) > 1 => automatisches Vakuum
|
|
|
- zufällig einmal pro x <methodname>clean()</methodname> oder
|
|
|
- <methodname>delete()</methodname> Aufrufe.
|
|
|
- </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>
|
|
|
+ Der komplette Pfad (inklusive Dateiname) der SQLite Datenbank
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>10</entry>
|
|
|
+ <entry>
|
|
|
+ Deaktiviert oder stellt den automatischen Vakuumprozess ein.
|
|
|
+ Der automatische Vakuumprozess defragmentiert die Datenbankdatei (und
|
|
|
+ verkleinert sie) wenn <methodname>clean()</methodname> oder
|
|
|
+ <methodname>delete()</methodname> aufgerufen wird: 0 bedeutet kein
|
|
|
+ automatisches Vakuum; 1 bedeutet systematisches Vakuum (wenn die
|
|
|
+ <methodname>delete()</methodname> or <methodname>clean()</methodname>
|
|
|
+ Methoden aufgerufen werden; x (integer) > 1 => automatisches Vakuum
|
|
|
+ zufällig einmal pro x <methodname>clean()</methodname> oder
|
|
|
+ <methodname>delete()</methodname> Aufrufe.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.memcached">
|
|
|
<title>Zend_Cache_Backend_Memcached</title>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses (erweiterte) Backend speichert Cache Datensätze in einem Memcached Server. <ulink
|
|
|
url="http://www.danga.com/memcached/">memcached</ulink> ist ein hoch-performantes,
|
|
|
@@ -180,101 +205,122 @@
|
|
|
Memcached Dämon benötigt und <ulink url="http://pecl.php.net/package/memcache">die
|
|
|
Memcached <acronym>PECL</acronym> Erweiterung</ulink>.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Vorsicht: mit diesem Backend werden zur Zeit "Marker" nicht unterstützt genauso wie das
|
|
|
"doNotTestCacheValidity=true" Argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Mögliche Optionen sind :
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.memcached.table">
|
|
|
<title>Memcached Backend Optionen</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Daten Typ</entry>
|
|
|
<entry>Standardwert</entry>
|
|
|
<entry>Beschreibung</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>
|
|
|
- Ein Array von Memcached Servern; jeder Memcached Server wird durch ein
|
|
|
- assoziatives Array beschrieben : 'host' => (string) : Der Name des
|
|
|
- Memcached Servers, 'port' => (int) : Der Port des Memcached Servers,
|
|
|
- 'persistent' => (bool) : Persistente Verbindungen für diesen Memcached
|
|
|
- Server verwenden oder nicht 'weight' => (int) : Das Gewicht des
|
|
|
- Memcached Servers, 'timeout' => (int) : Das Timeout des Memcached
|
|
|
- Servers, 'retry_interval' => (int) : Das Wiederholungsintervall des
|
|
|
- Memcached Servers, 'status' => (bool) : Der Status des Memcached
|
|
|
- Servers, 'failure_callback' => (callback) : Der failure_callback des
|
|
|
- Memcached Servers
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>compression</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- <constant>TRUE</constant> wenn on-the-fly Kompression verwendet werden
|
|
|
- soll
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>compatibility</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- <constant>TRUE</constant> wenn man den Compatibility Modus mit alten
|
|
|
- Memcache Servern oder Erweiterungen verwenden will
|
|
|
- </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>
|
|
|
+ Ein Array von Memcached Servern; jeder Memcached Server wird durch ein
|
|
|
+ assoziatives Array beschrieben : 'host' => (string) : Der Name des
|
|
|
+ Memcached Servers, 'port' => (int) : Der Port des Memcached Servers,
|
|
|
+ 'persistent' => (bool) : Persistente Verbindungen für diesen Memcached
|
|
|
+ Server verwenden oder nicht 'weight' => (int) : Das Gewicht des
|
|
|
+ Memcached Servers, 'timeout' => (int) : Das Timeout des Memcached
|
|
|
+ Servers, 'retry_interval' => (int) : Das Wiederholungsintervall des
|
|
|
+ Memcached Servers, 'status' => (bool) : Der Status des Memcached
|
|
|
+ Servers, 'failure_callback' => (callback) : Der failure_callback des
|
|
|
+ Memcached Servers
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>compression</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <constant>TRUE</constant> wenn on-the-fly Kompression verwendet werden
|
|
|
+ soll
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>compatibility</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ <constant>TRUE</constant> wenn man den Compatibility Modus mit alten
|
|
|
+ Memcache Servern oder Erweiterungen verwenden will
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.apc">
|
|
|
<title>Zend_Cache_Backend_Apc</title>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses (erweiterte) Backend speichert Cache Datensätze im Shared Memory durch die
|
|
|
<ulink url="http://pecl.php.net/package/APC">APC</ulink> (Alternativer
|
|
|
<acronym>PHP</acronym> Cache) Erweiterung (welche natürlich für die Verwendung dieses
|
|
|
Backends benötigt wird).
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Vorsicht: mit diesem Backend werden "Marker" zur Zeit nicht unterstützt genauso wie das
|
|
|
"doNotTestCacheValidity=true" Argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Es gibt keine Optionen für dieses Backend.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.xcache">
|
|
|
<title>Zend_Cache_Backend_Xcache</title>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses Backend speichert Cache Einträge im Shared Memory durch die
|
|
|
<ulink url="http://xcache.lighttpd.net/">XCache</ulink> Erweiterung (welche natürlich
|
|
|
benötigt wird, damit dieses Backend verwendet werden kann).
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Achtung: Bei diesem Backend werden "tags" aktuell nicht unterstützt sowie das
|
|
|
"doNotTestCacheValidity=true" Argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Mögliche Optionen sind:
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.xcache.table">
|
|
|
<title>Xcache backend options</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
<thead>
|
|
|
<row>
|
|
|
@@ -284,217 +330,486 @@
|
|
|
<entry>Beschreibung</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>, notwendig für die
|
|
|
- <methodname>clean()</methodname> Methode
|
|
|
+ <filename>xcache.admin.user</filename>, notwendig für die
|
|
|
+ <methodname>clean()</methodname> Methode
|
|
|
</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 offener Form, nicht
|
|
|
- <acronym>MD5</acronym>), notwendig für die
|
|
|
- <methodname>clean()</methodname> Methode
|
|
|
+ <filename>xcache.admin.pass</filename> (in offener Form, nicht
|
|
|
+ <acronym>MD5</acronym>), notwendig für die
|
|
|
+ <methodname>clean()</methodname> Methode
|
|
|
</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.platform">
|
|
|
<title>Zend_Cache_Backend_ZendPlatform</title>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses Backend verwendet die Content Caching <acronym>API</acronym> des
|
|
|
<ulink url="http://www.zend.com/en/products/platform">Zend Platform</ulink> Produktes.
|
|
|
Natürlich muss man die Zend Platform installiert haben, um dieses Backend verwenden zu
|
|
|
können.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses Backend unterstützt Tags, aber nicht den
|
|
|
<constant>CLEANING_MODE_NOT_MATCHING_TAG</constant> Löschmodus.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Bei Definition dieses Backends muß ein Trennzeichen -- '-', '.', ' ', oder '_'
|
|
|
-- zwischen den Wörtern 'Zend' und 'Platform' definiert sein wenn die
|
|
|
<methodname>Zend_Cache::factory()</methodname> Methode verwendet wird:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$cache = Zend_Cache::factory('Core', 'Zend Platform');
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
Es gibt keine Optionen für dieses Backend.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.twolevels">
|
|
|
<title>Zend_Cache_Backend_TwoLevels</title>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses (erweiterte) Backend ist ein Hybrides. Es speichert Cache Einträge in zwei
|
|
|
anderen Backends: Ein schnelles (aber limitiertes) wie Apc, Memcache... und ein
|
|
|
"langsames" wie File, Sqlite...
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses Backend verwendet den Priority Parameter (der auf Frontend Level angegeben wird
|
|
|
wenn ein Eintrag gespeichert wird) und den verbleibenden Platz im schnellen Backend um
|
|
|
die Verwendung dieser zwei Backends zu optimieren.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses Backend sollte mit Verwendung eines Word Separators -- '-', '.', ' ', oder '_' --
|
|
|
zwischen den Wörtern 'Two' und 'Levels' spezifiziert werden wenn die
|
|
|
<methodname>Zend_Cache::factory()</methodname> Methode verwendet wird:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$cache = Zend_Cache::factory('Core', 'Two Levels');
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
Vorhandene Optionen sind:
|
|
|
</para>
|
|
|
+
|
|
|
<table id="zend.cache.backends.twolevels.table">
|
|
|
<title>TwoLevels Backend Optionen</title>
|
|
|
+
|
|
|
<tgroup cols="4">
|
|
|
- <thead>
|
|
|
- <row>
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
<entry>Option</entry>
|
|
|
<entry>Datentyp</entry>
|
|
|
<entry>Standardwert</entry>
|
|
|
<entry>Beschreibung</entry>
|
|
|
</row>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>File</entry>
|
|
|
- <entry>
|
|
|
- Der "langsame" Backendname
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend</emphasis></entry>
|
|
|
- <entry><type>String</type></entry>
|
|
|
- <entry>Apc</entry>
|
|
|
- <entry>
|
|
|
- Der "schnelle" Backendname
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend_options</emphasis></entry>
|
|
|
- <entry><type>Array</type></entry>
|
|
|
- <entry><methodname>array()</methodname></entry>
|
|
|
- <entry>
|
|
|
- Die "langsamen" Backendoptionen
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend_options</emphasis></entry>
|
|
|
- <entry><type>Array</type></entry>
|
|
|
- <entry><methodname>array()</methodname></entry>
|
|
|
- <entry>
|
|
|
- Die "schnellen" Backendoptionen
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- Wenn <constant>TRUE</constant>, wird das slow_backend Argument als
|
|
|
- kompletter Klassenname verwendet; wenn <constant>FALSE</constant>,
|
|
|
- wird das frontend Argument als Ende des
|
|
|
- "<classname>Zend_Cache_Backend_</classname>[...]" Klassennamens
|
|
|
- verwendet
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- Wenn <constant>TRUE</constant>, wird das fast_backend Argument als
|
|
|
- kompletter Klassenname verwendet; wenn <constant>FALSE</constant>,
|
|
|
- wird das frontend Argument als Ende des
|
|
|
- "<classname>Zend_Cache_Backend_</classname>[...]" Klassennamens
|
|
|
- verwendet
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>slow_backend_autoload</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- Wenn <constant>TRUE</constant>, wird kein require_once für das
|
|
|
- langsame Backend verwendet (nur für eigene Backends nützlich)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>fast_backend_autoload</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>FALSE</constant></entry>
|
|
|
- <entry>
|
|
|
- Wenn <constant>TRUE</constant>, wird kein require_once für das
|
|
|
- schnelle Backend verwendet (nur für eigene Backends nützlich)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
|
|
|
- <entry><type>Boolean</type></entry>
|
|
|
- <entry><constant>TRUE</constant></entry>
|
|
|
- <entry>
|
|
|
- Wenn <constant>TRUE</constant>, wird der schnelle Cache automatisch
|
|
|
- refresht wenn ein Cache Eintrag getroffen wird
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- <row>
|
|
|
- <entry><emphasis>stats_update_factor</emphasis></entry>
|
|
|
- <entry><type>Integer</type></entry>
|
|
|
- <entry>10</entry>
|
|
|
- <entry>
|
|
|
- Ausschalten / Feintunen der Berechnung des Füll-Prozentsatzes des
|
|
|
- schnellen Backends (wenn ein Eintrag in den Cache gespeichert wird,
|
|
|
- die Berechnung des Füll-Prozentsatzes des schnellen Backends zufällig
|
|
|
- 1 mal bei x Cache Schreibvorgängen)
|
|
|
- </entry>
|
|
|
- </row>
|
|
|
- </tbody>
|
|
|
- </tgroup>
|
|
|
- </table>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>File</entry>
|
|
|
+ <entry>Der "langsame" Backendname</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>Apc</entry>
|
|
|
+ <entry>Der "schnelle" Backendname</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend_options</emphasis></entry>
|
|
|
+ <entry><type>Array</type></entry>
|
|
|
+ <entry><methodname>array()</methodname></entry>
|
|
|
+ <entry>Die "langsamen" Backendoptionen</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend_options</emphasis></entry>
|
|
|
+ <entry><type>Array</type></entry>
|
|
|
+ <entry><methodname>array()</methodname></entry>
|
|
|
+ <entry>Die "schnellen" Backendoptionen</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wenn <constant>TRUE</constant>, wird das slow_backend Argument als
|
|
|
+ kompletter Klassenname verwendet; wenn <constant>FALSE</constant>,
|
|
|
+ wird das frontend Argument als Ende des
|
|
|
+ "<classname>Zend_Cache_Backend_</classname>[...]" Klassennamens
|
|
|
+ verwendet
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wenn <constant>TRUE</constant>, wird das fast_backend Argument als
|
|
|
+ kompletter Klassenname verwendet; wenn <constant>FALSE</constant>,
|
|
|
+ wird das frontend Argument als Ende des
|
|
|
+ "<classname>Zend_Cache_Backend_</classname>[...]" Klassennamens
|
|
|
+ verwendet
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>slow_backend_autoload</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wenn <constant>TRUE</constant>, wird kein require_once für das
|
|
|
+ langsame Backend verwendet (nur für eigene Backends nützlich)
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>fast_backend_autoload</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>FALSE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wenn <constant>TRUE</constant>, wird kein require_once für das
|
|
|
+ schnelle Backend verwendet (nur für eigene Backends nützlich)
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wenn <constant>TRUE</constant>, wird der schnelle Cache automatisch
|
|
|
+ refresht wenn ein Cache Eintrag getroffen wird
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>stats_update_factor</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>10</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Ausschalten / Feintunen der Berechnung des Füll-Prozentsatzes des
|
|
|
+ schnellen Backends (wenn ein Eintrag in den Cache gespeichert wird,
|
|
|
+ die Berechnung des Füll-Prozentsatzes des schnellen Backends zufällig
|
|
|
+ 1 mal bei x Cache Schreibvorgängen)
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
</sect2>
|
|
|
+
|
|
|
<sect2 id="zend.cache.backends.zendserver">
|
|
|
<title>Zend_Cache_Backend_ZendServer_Disk und Zend_Cache_Backend_ZendServer_ShMem</title>
|
|
|
+
|
|
|
<para>
|
|
|
Diese Backends speichern Cacheeinträge indem Sie die Caching Funktionalitäten von <ulink
|
|
|
url="http://www.zend.com/en/products/server/downloads-all?zfs=zf_download">Zend
|
|
|
Server</ulink> verwenden.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Achtung: mit diesen Backends werden für den Moment "Tags" nicht unterstützt, wegen dem
|
|
|
"doNotTestCacheValidity=true" Argument.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Diese Backends arbeiten nur in einer Zend Server Umgebung für Seiten die über
|
|
|
<acronym>HTTP</acronym> oder <acronym>HTTPS</acronym> angefragt wurden und nicht für
|
|
|
Kommandozeilen Ausführung.
|
|
|
</para>
|
|
|
+
|
|
|
<para>
|
|
|
Dieses Backend muß durch Verwendung des <emphasis>customBackendNaming</emphasis>
|
|
|
Parameter mit <constant>TRUE</constant> spezifiziert werden wenn die Methode
|
|
|
<methodname>Zend_Cache::factory()</methodname> verwendet wird:
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$cache = Zend_Cache::factory('Core', 'Zend_Cache_Backend_ZendServer_Disk',
|
|
|
$frontendOptions, $backendOptions, false, true);
|
|
|
]]></programlisting>
|
|
|
+
|
|
|
<para>
|
|
|
Es gibt keine Optionen für diese Backends.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
+
|
|
|
+ <sect2 id="zend.cache.backends.static">
|
|
|
+ <title>Zend_Cache_Backend_Static</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Dieses Backend arbeitet in Verbindung mit
|
|
|
+ <classname>Zend_Cache_Frontend_Capture</classname> (diese zwei müssen zusammen verwendet
|
|
|
+ werden) um die Ausgabe von Anfragen als statische Dateien zu speichern. Dies bedeutet
|
|
|
+ das die statischen Dateien bei weiteren Anfragen direkt serviert werden ohne das PHP
|
|
|
+ oder sogar der Zend Framework involviert sind.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Der Vorteil dieses Caches besteht darin das eine starke Verbesserung des Durchsatzes
|
|
|
+ stattfindet weil statische Dateien zurückgegeben werden und keine weitere dynamische
|
|
|
+ Bearbeitung stattfindet. Natürlich gibt es auch einige Nachteile. Der einzige Weg um
|
|
|
+ dynamische Anfragen wieder zu haben besteht darin die gecachten Dateien von anderswo
|
|
|
+ in der Anwendung zu löschen (oder über einen Cronjob wenn das zeitlich abgestimmt werden
|
|
|
+ soll). Es ist auch auf Single-Server Anwendungen begrenzt begrenzt bei denen nur ein
|
|
|
+ Dateisystem verwendet wird. Trotzdem kann es eine große Bedeutung haben wenn man mehr
|
|
|
+ Geschwindigkeit haben will ohne auf Kosten eines Proxies auf einzelnen Maschinen zu
|
|
|
+ setzen.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Bevor die Optionen beschrieben werden sollte man beachten das dies einige Änderungen der
|
|
|
+ Standardwerte in der .htaccess Datei benötigt damit Anfrage auf die staischen Dateien
|
|
|
+ zeigen wenn diese existieren. Hier ist ein Beispiel einer einfachen Anwendung die etwas
|
|
|
+ Inhalt cacht, inklusive zwei spezifischer Feeds welche zusätzliche Behandlung benötigen
|
|
|
+ um einen korrekten Content-Type Header zu schicken:
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="text"><![CDATA[
|
|
|
+AddType application/rss+xml .xml
|
|
|
+AddType application/atom+xml .xml
|
|
|
+
|
|
|
+RewriteEngine On
|
|
|
+
|
|
|
+RewriteCond %{REQUEST_URI} feed/rss$
|
|
|
+RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}.xml -f
|
|
|
+RewriteRule .* cached/%{REQUEST_URI}.xml [L,T=application/rss+xml]
|
|
|
+
|
|
|
+RewriteCond %{REQUEST_URI} feed/atom$
|
|
|
+RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}.xml -f
|
|
|
+RewriteRule .* cached/%{REQUEST_URI}.xml [L,T=application/atom+xml]
|
|
|
+
|
|
|
+RewriteCond %{DOCUMENT_ROOT}/cached/index.html -f
|
|
|
+RewriteRule ^/*$ cached/index.html [L]
|
|
|
+RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}.(html|xml|json|opml|svg) -f
|
|
|
+RewriteRule .* cached/%{REQUEST_URI}.%1 [L]
|
|
|
+
|
|
|
+RewriteCond %{REQUEST_FILENAME} -s [OR]
|
|
|
+RewriteCond %{REQUEST_FILENAME} -l [OR]
|
|
|
+RewriteCond %{REQUEST_FILENAME} -d
|
|
|
+RewriteRule ^.*$ - [NC,L]
|
|
|
+
|
|
|
+RewriteRule ^.*$ index.php [NC,L]
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Das obenstehende nimmt an das statische Dateien im Verzeichnis ./public/cached gecacht
|
|
|
+ werden. Wir betrachten die Einstellung dieses Ortes unter "public_dir" weiter unten.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Durch die Natur des Cachens von statischen Dateien bietet die Backend Klasse zwei
|
|
|
+ zusätzliche Methoden an: <methodname>remove()</methodname> und
|
|
|
+ <methodname>removeRecursively()</methodname>. Beide akzeptieren eine Anfrage URI
|
|
|
+ welche, wenn Sie mit dem "public_dir" in dem statische Dateien gecacht werden verknüpft
|
|
|
+ wird, und eine vor-gespeicherte Erweiterung angehängt wird, entweder den Namen einer
|
|
|
+ statischen Datei anbietet welche zu löschen ist, oder einen Verzeichnispfad welcher
|
|
|
+ rekursiv zu löschen ist. Durch die Einschränkung von
|
|
|
+ <classname>Zend_Cache_Backend_Interface</classname> akzeptieren alle anderen Methoden
|
|
|
+ wie <classname>save()</classname> eine ID welche durch Anwendung von bin2hex() auf eine
|
|
|
+ Anfrage URI berechnet wird.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Durch das Level an dem das statische Cachen arbeitet ist das statische Dateicaching
|
|
|
+ auf eine einfachere Verwendung mit
|
|
|
+ <classname>Zend_Controller_Action_Helper_Cache</classname> ausgelegt. Dieser Helfer
|
|
|
+ assistiert beim Einstellen welche Aktionen eines Controllers zu cachen sind, mit welchen
|
|
|
+ Tags, und mit welcher Erweiterung. Er bietet auch Methoden für das Entleeren des Caches
|
|
|
+ durch die Anfrage URI oder Tag. Statischen Dateicaching wird auch durch
|
|
|
+ <classname>Zend_Cache_Manager</classname> unterstützt welcher vorkonfigurierte
|
|
|
+ Konfigurationstemplates für den statischen Cache enthält (als
|
|
|
+ Zend_Cache_Manager::PAGECACHE oder "page"). Die Standardwerte können hierbei wie
|
|
|
+ benötigt konfiguriert werden um einen "public_dir" Ort für das Cachen zu setzen, usw.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <note>
|
|
|
+ <para>
|
|
|
+ Es sollte beachtet werden dass der statische Cache aktuell einen zweiten Cache
|
|
|
+ verwendet um Tags zu speichern (offensichtlich können wir Sie nicht anderswo
|
|
|
+ speichern da bei einem statischen Cache PHP nicht aufgerufen wird wenn er
|
|
|
+ richtig arbeitet). Das ist nur ein standardmäßiger Core Cache, und er sollte ein
|
|
|
+ persistentes Backend wie File oder TwoLevels verwenden (um die Vorteile des
|
|
|
+ Memory Speichers zu verwenden ohne die permanente Persistenz zu opfern). Das
|
|
|
+ Backend enthält die Option "tag_cache" um es zu konfigurieren (das ist
|
|
|
+ obligatorisch), oder die Methode <methodname>setInnerCache()</methodname>.
|
|
|
+ </para>
|
|
|
+ </note>
|
|
|
+
|
|
|
+ <table id="zend.cache.backends.static.table">
|
|
|
+ <title>Statische Backend Optionen</title>
|
|
|
+
|
|
|
+ <tgroup cols="4">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Option</entry>
|
|
|
+ <entry>Datentyp</entry>
|
|
|
+ <entry>Standardwert</entry>
|
|
|
+ <entry>Beschreibung</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>public_dir</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>NULL</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Verzeichnis in dem statische Dateien zu speichern sind. Es muß im
|
|
|
+ öffentlichen Verzeichnis existieren.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_locking</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ file_locking aktivieren oder deaktivieren: Kann die Korruption des
|
|
|
+ Caches unter schlechten Umständen verhindern hilft aber nicht bei
|
|
|
+ Multithreaded Webservern oder bei <acronym>NFS</acronym> Dateisystemen.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>read_control</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry><constant>TRUE</constant></entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Lesekontrolle aktivieren oder deaktivieren: Aktiviert wird ein
|
|
|
+ Kontrollschlüssel in die Cachedatei eingebettet und dieser Schlüssel
|
|
|
+ wird mit dem verglichen der nach dem Lesen berechnet wird.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>read_control_type</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'crc32'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Typ der Lesekontrolle (nur wenn die Lesekontrolle aktiviert ist).
|
|
|
+ Mögliche Werte sind: 'md5' (am besten aber langsam), 'crc32' (etwas
|
|
|
+ weniger sicher aber schneller, bessere Wahl), 'adler32' (neue Wahl,
|
|
|
+ schneller als cec32), 'strlen' für einen reinen Längentest (am
|
|
|
+ schnellsten).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_file_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>Umask für gecachte Dateien.</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>cache_directory_umask</emphasis></entry>
|
|
|
+ <entry><type>Integer</type></entry>
|
|
|
+ <entry>0700</entry>
|
|
|
+ <entry>Umask für Verzeichnisse welche im public_dir erstellt wurden.</entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>file_extension</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'.html'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Standardmäßige Dateierweiterung für erstellt statische Dateien. Diese
|
|
|
+ kann im Fluge konfiguriert werden, siehe
|
|
|
+ <methodname>Zend_Cache_Backend_Static::save()</methodname> obwohl
|
|
|
+ generell empfohlen wird sich auf
|
|
|
+ <classname>Zend_Controller_Action_Helper_Cache</classname> zu verlassen
|
|
|
+ wenn man das macht, weil es ein einfacherer Weg ist als mit Arrays und
|
|
|
+ der manuellen Serialisierung herumzuspielen.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>index_filename</emphasis></entry>
|
|
|
+ <entry><type>String</type></entry>
|
|
|
+ <entry>'index'</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wenn eine Anfrage URI nicht genügend Informationen enthält um eine
|
|
|
+ statische Datei zu erstellen (normalerweise bedeutet dies einen
|
|
|
+ Indexaufruf, z.B. die URI von '/'), dann wir stattdessen
|
|
|
+ index_filename verwendet. Deshalb würden '' oder '/' auf 'index.html'
|
|
|
+ verweisen (in der Annahme das die standardmäßige file_extension '.html'
|
|
|
+ ist).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>tag_cache</emphasis></entry>
|
|
|
+ <entry><type>Object</type></entry>
|
|
|
+ <entry>NULL</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wird verwendet um einen 'inner' Cache zu Setzen der verwendet wird um
|
|
|
+ Tags zu speichern und Dateierweiterungen mit statischen Dateien zu
|
|
|
+ verknüpfen. Das MUSS gesetzt sein, oder der statische Cache kann nicht
|
|
|
+ verfolgt und gemanagt werden.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+
|
|
|
+ <row>
|
|
|
+ <entry><emphasis>disable_caching</emphasis></entry>
|
|
|
+ <entry><type>Boolean</type></entry>
|
|
|
+ <entry>FALSE</entry>
|
|
|
+
|
|
|
+ <entry>
|
|
|
+ Wenn es auf TRUE gesetzt wird, werden statische Dateien nicht gecacht.
|
|
|
+ Das zwingt alle Anfragen dynamisch zu sein, selbst wenn diese markiert
|
|
|
+ und in den Controller gecacht sind. Dies ist für das Debuggen nützlich.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect2>
|
|
|
</sect1>
|
|
|
-<!--
|
|
|
-vim:se ts=4 sw=4 et:
|
|
|
-+-->
|