| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17749 -->
- <!-- 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.
- </para>
- <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>
- <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>
- 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>
- 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>
- 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
- </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>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>
- </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>
- <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>
- </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,
- verteiltes Speicher Objekt Caching System. Um dieses Backend zu benutzen, wird ein
- 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>
- <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>
- </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>
- <entry>Option</entry>
- <entry>Daten Typ</entry>
- <entry>Standardwert</entry>
- <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
- </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
- </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>
- <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>
- </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>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- +-->
|