1 <?xml version="1.0" encoding="UTF-8"?>
3 <sect1 id="zend.cache.backends">
4 <title>Бэкэнды Zend_Cache</title>
6 Есть два типа бэкэндов: стандартные и расширенные. Расширенные
7 предоставляют больше функциональных возможностей.
9 <sect2 id="zend.cache.backends.file">
10 <title>Zend_Cache_Backend_File</title>
12 Этот расширенный бэкэнд хранит записи кэша в файлах (в выбранной
18 <table id="zend.cache.backends.file.table">
19 <title>Опции Zend_Cache_Backend_File</title>
24 <entry>Тип данных</entry>
25 <entry>Значение по умолчанию</entry>
26 <entry>Описание</entry>
31 <entry><emphasis>cache_dir</emphasis></entry>
32 <entry><type>String</type></entry>
33 <entry>'<filename>/tmp/</filename>'</entry>
35 Директория, в которой хранятся файлы кэша
39 <entry><emphasis>file_locking</emphasis></entry>
40 <entry><type>Boolean</type></entry>
41 <entry><constant>TRUE</constant></entry>
43 Включает/отключает блокировку файлов. Позволяет
44 избежать искажения данных кэша в плохих условиях, но
45 это не поможет при многопоточном веб-сервере или
46 файловой системе <acronym>NFS</acronym>...
50 <entry><emphasis>read_control</emphasis></entry>
51 <entry><type>Boolean</type></entry>
52 <entry><constant>TRUE</constant></entry>
54 Включает/отключает контроль чтения. Если включен,
55 то в файл кэша добавляется контрольный ключ и этот
56 ключ сравнивается с другим, вычисляемым после
61 <entry><emphasis>read_control_type</emphasis></entry>
62 <entry><type>String</type></entry>
63 <entry>'crc32'</entry>
65 Тип контроля чтения (только если включен
66 readControl). Возможные значения: 'md5' (лучший, но
68 'crc32' (немного менее безопасный,
69 но более быстрый, лучший выбор),
70 'adler32' (новая альтернатива, быстрее, чем crc32),
71 'strlen' для контроля только по длине (самый
76 <entry><emphasis>hashed_directory_level</emphasis></entry>
77 <entry><type>Integer</type></entry>
80 Уровень структуры хэшированного каталога:
81 0 означает "нет структуры
82 хэшированного каталога",
83 1 — "один уровень каталога",
84 2 — "два уровня"... Эта опция ускорит
85 кэширование только если у вас тысячи файлов кэша.
86 Только сравнение может помочь вам выбрать
87 оптимальное для вас значение. Возможно,
88 1 или 2 будут хорошими
89 значениями для начала.
93 <entry><emphasis>hashed_directory_umask</emphasis></entry>
94 <entry><type>Integer</type></entry>
97 Маска режима создания файлов для структуры
98 хэшированного каталога.
102 <entry><emphasis>file_name_prefix</emphasis></entry>
103 <entry><type>String</type></entry>
104 <entry>'zend_cache'</entry>
106 Префикс для файлов кэша. Будьте осторожны с этой
107 опцией, поскольку слишком общее значение в
108 системной директории для кэша (например,
109 <filename>/tmp</filename>)
110 может привести к катастрофическим последствиям при
115 <entry><emphasis>cache_file_umask</emphasis></entry>
116 <entry><type>Integer</type></entry>
119 umask для файлов кэша
123 <entry><emphasis>metatadatas_array_max_size</emphasis></entry>
124 <entry><type>Integer</type></entry>
127 Внутренний максимальный размер для массива
128 метаданных (не изменяйте это значение если только
129 не знаете, что делаете)
136 <sect2 id="zend.cache.backends.sqlite">
137 <title>Zend_Cache_Backend_Sqlite</title>
139 Этот расширенный бэкэнд хранит записи кэша в базе данных SQLite.
144 <table id="zend.cache.backends.sqlite.table">
145 <title>Опции Zend_Cache_Backend_Sqlite</title>
150 <entry>Тип данных</entry>
151 <entry>Значение по умолчанию</entry>
152 <entry>Описание</entry>
157 <entry><emphasis>cache_db_complete_path</emphasis> (обязательный)</entry>
158 <entry><type>String</type></entry>
159 <entry><constant>NULL</constant></entry>
161 Полный путь (с именем файла) к базе данных SQLite.
165 <entry><emphasis>automatic_vacuum_factor</emphasis></entry>
166 <entry><type>Integer</type></entry>
169 Отклочение/настройка процесса автоматической
170 чистки. Автоматическая чистка дефрагментирует
171 файл данных (и делает его меньше) при вызове
172 методов <methodname>clean()</methodname>
173 и <methodname>delete()</methodname>:
174 0 - автоматическая чистка отключена;
175 1 - систематическая чистка (при каждом вызове
176 методов <methodname>delete()</methodname> или
177 <methodname>clean()</methodname>);
178 x (целое число больше 1) - автоматическая чистка
179 производится случайным образом 1 раз на x вызовов
180 методов <methodname>clean()</methodname>
181 и <methodname>delete()</methodname>.
188 <sect2 id="zend.cache.backends.memcached">
189 <title>Zend_Cache_Backend_Memcached</title>
191 Этот расширенный бэкэнд хранит записи кэша в сервере memcached.
192 <ulink url="http://www.danga.com/memcached/">memcached</ulink> —
193 высокопроизводительная распределенная система кэширования объектов
194 в памяти. Для того, чтобы использовать этот бэкэнд, вам нужны
195 установленные демон memcached и <ulink url="http://pecl.php.net/package/memcache">расширение PECL для memcached</ulink>.
198 Будьте осторожны: на данный момент теги для этого бэкэнда
199 не поддерживаются, то же самое с аргументом
200 "doNotTestCacheValidity=true".
205 <table id="zend.cache.backends.memcached.table">
206 <title>Опции Zend_Cache_Backend_Memcached</title>
211 <entry>Тип данных</entry>
212 <entry>Значение по умолчанию</entry>
213 <entry>Описание</entry>
218 <entry><emphasis>servers</emphasis></entry>
219 <entry><type>Array</type></entry>
221 array(array('host' => 'localhost', 'port' => 11211, 'persistent' => true, 'weight' => 1,
222 'timeout' => 5, 'retry_interval' => 15, 'status' => true, 'failure_callback' => '' ))
225 Массив серверов memcached; каждый сервер описан
226 ассоциативным массивом:
227 'host' => (string) : имя сервера memcached,
228 'port' => (int) : порт сервера memcached,
229 'persistent' => (bool) : использовать или нет
230 постоянное соединение с сервером,
231 'weight' => (int) : вес сервера memcached,
232 'timeout' => (int) : таймаут сервера memcached,
233 'retry_interval' => (int) : интервал между повторными попытками,
234 'status' => (bool) : статус сервера memcached,
235 'failure_callback' => (callback) : обратный вызов сервера memcached
239 <entry><emphasis>compression</emphasis></entry>
240 <entry><type>Boolean</type></entry>
241 <entry><constant>FALSE</constant></entry>
243 <constant>TRUE</constant>, если вы хотите использовать
248 <entry><emphasis>compatibility</emphasis></entry>
249 <entry><type>Boolean</type></entry>
250 <entry><constant>FALSE</constant></entry>
252 <constant>TRUE</constant>, если нужно включить режим
253 совместимости со старыми серверами и расширениями
261 <sect2 id="zend.cache.backends.apc">
262 <title>Zend_Cache_Backend_Apc</title>
264 Этот расширенный бэкэнд хранит записи кэша в совместно используемой
265 памяти через расширение
266 <ulink url="http://pecl.php.net/package/APC">APC</ulink>
267 (Alternative <acronym>PHP</acronym> Cache — альтернативный
268 кэш <acronym>PHP</acronym>), которое, разумеется, необходимо
269 установить для использования этого бэкэнда.
272 Будьте осторожны: на данный момент теги для этого бэкэнда
273 не поддерживаются, то же самое и с аргументом
274 "doNotTestCacheValidity=true".
277 Нет специальных опций для этого бэкэнда.
280 <sect2 id="zend.cache.backends.xcache">
281 <title>Zend_Cache_Backend_Xcache</title>
283 Этот бэкэнд хранит записи кэша в совместно используемой
284 памяти через расширение
285 <ulink url="http://xcache.lighttpd.net/">XCache</ulink>, которое
286 должно быть установлено для использования данного бэкэнда.
289 Будьте осторожны: на данный момент теги для этого бэкэнда
290 не поддерживаются, то же самое и с аргументом
291 "doNotTestCacheValidity=true".
296 <table id="zend.cache.backends.xcache.table">
297 <title>Опции Zend_Cache_Backend_Xcache</title>
302 <entry>Тип данных</entry>
303 <entry>Значение по умолчанию</entry>
304 <entry>Описание</entry>
309 <entry><emphasis>user</emphasis></entry>
310 <entry><type>String</type></entry>
311 <entry><constant>NULL</constant></entry>
313 <filename>xcache.admin.user</filename>,
314 необходима для метода
315 <methodname>clean()</methodname>
319 <entry><emphasis>password</emphasis></entry>
320 <entry><type>String</type></entry>
321 <entry><constant>NULL</constant></entry>
323 <filename>xcache.admin.pass</filename> - пароль
324 в незашифрованном виде,
326 <methodname>clean()</methodname>
333 <sect2 id="zend.cache.backends.platform">
334 <title>Zend_Cache_Backend_ZendPlatform</title>
336 Этот бэкэнд использует <acronym>API</acronym>
337 <ulink url="http://www.zend.com/products/platform">Zend
338 Platform</ulink> для кэширования контента. Естетственно,
339 использование этого бэкэнда требует наличия установленного Zend
343 Этот бэкэнд поддерживает теги, но не поддерживает режим очищения
344 <constant>CLEANING_MODE_NOT_MATCHING_TAG</constant>.
347 Указывайте этот бэкэнд, используя разделитель слов '-', '.', ' ',
348 или '_' между словами 'Zend' и 'Platform', когда используете метод
349 <methodname>Zend_Cache::factory()</methodname>:
351 <programlisting language="php"><![CDATA[
352 $cache = Zend_Cache::factory('Core', 'Zend Platform');
355 Нет специальных опций для этого бэкэнда.
358 <sect2 id="zend.cache.backends.twolevels">
359 <title>Zend_Cache_Backend_TwoLevels</title>
361 Этот расширенный бэкэнд является гибридным. Он сохраняет записи кэша
362 через два других бэкэнда: быстрый, но ограниченный в функциональных
363 возможностях, бэкэнд (Apc, Memcache и др.),
364 и "медленный", но более функциональный, бэкэнд (File, Sqlite и др.)
367 Этот бэкэнд использует параметр priority (который передается
368 фронтэнду при сохранении записи) и оставшееся место в быстром
369 бэкэнде для оптимизации использования этих двух бэкэндов.
374 <table id="zend.cache.backends.twolevels.table">
375 <title>Опции Zend_Cache_Backend_TwoLevels</title>
380 <entry>Тип данных</entry>
381 <entry>Значение по умолчанию</entry>
382 <entry>Описание</entry>
387 <entry><emphasis>slow_backend</emphasis></entry>
388 <entry><type>String</type></entry>
391 Имя "медленного" бэкэнда
395 <entry><emphasis>fast_backend</emphasis></entry>
396 <entry><type>String</type></entry>
399 Имя "быстрого" бэкэнда
403 <entry><emphasis>slow_backend_options</emphasis></entry>
404 <entry><type>Array</type></entry>
405 <entry><methodname>array()</methodname></entry>
407 Опции для "медленного" бэкэнда
411 <entry><emphasis>fast_backend_options</emphasis></entry>
412 <entry><type>Array</type></entry>
413 <entry><methodname>array()</methodname></entry>
415 Опции для "быстрого" бэкэнда
419 <entry><emphasis>slow_backend_custom_naming</emphasis></entry>
420 <entry><type>Boolean</type></entry>
421 <entry><constant>FALSE</constant></entry>
423 Если <constant>TRUE</constant>, то аргумент slow_backend
424 используется как полное имя класса, иначе
425 значение этого аргумента используется в конце
427 "<classname>Zend_Cache_Backend_</classname>[...]".
431 <entry><emphasis>fast_backend_custom_naming</emphasis></entry>
432 <entry><type>Boolean</type></entry>
433 <entry><constant>FALSE</constant></entry>
435 Если <constant>TRUE</constant>, то аргумент fast_backend
436 используется как полное имя класса.
437 Если <constant>FALSE</constant>, то
438 значение этого аргумента используется в конце
440 "<classname>Zend_Cache_Backend_</classname>[...]".
444 <entry><emphasis>slow_backend_autoload</emphasis></entry>
445 <entry><type>Boolean</type></entry>
446 <entry><constant>FALSE</constant></entry>
448 Если <constant>TRUE</constant>, то для медленного бэкэнда не
449 будет производиться включение require_once
450 (полезно только при использовании собственных
455 <entry><emphasis>fast_backend_autoload</emphasis></entry>
456 <entry><type>Boolean</type></entry>
457 <entry><constant>FALSE</constant></entry>
459 Если <constant>TRUE</constant>, то для быстрого бэкэнда не
460 будет производиться включение require_once
461 (полезно только при использовании собственных
466 <entry><emphasis>auto_refresh_fast_cache</emphasis></entry>
467 <entry><type>Boolean</type></entry>
468 <entry><constant>TRUE</constant></entry>
470 Если <constant>TRUE</constant>, то будет производиться
471 автоматическое обновление "быстрого" кэша при
476 <entry><emphasis>stats_update_factor</emphasis></entry>
477 <entry><type>Integer</type></entry>
480 Настройка частоты вычисления
481 процента заполнения быстрого бэкэнда,
482 либо полное отключение вычисления. При сохранении
483 записи в кэш вычисление процента заполнения
484 быстрого бэкэнда производится случайным образом
485 1 раз на x записей в кэш.
492 <sect2 id="zend.cache.backends.zendserver">
493 <title>Zend_Cache_Backend_ZendServer_Disk и Zend_Cache_Backend_ZendServer_ShMem</title>
495 Эти бэкэнды служат для сохранения записей кэша через соответствующую
496 возможность <ulink url="http://www.zend.com/en/products/server/downloads-all?zfs=zf_download">Zend Server</ulink>.
499 Будьте осторожны - в настоящий момент этот бэкэнд не поддерживает
500 теги, так же, как и аргумент "doNotTestCacheValidity=true".
503 Этот бэкэнд работает только в среде Zend Server с запросами,
504 производимыми через <acronym>HTTP</acronym> и
505 <acronym>HTTPS</acronym>, и не работает в случае скриптов,
506 запускаемых через командную строку.
509 Нет специальных опций для этого бэкэнда.