Есть два типа бэкэндов: стандартные и расширенные. Расширенные предоставляют больше функциональных возможностей.
Этот расширенный бэкэнд хранит записи кэша в файлах (в выбранной директории).
Доступные опции:
Таблица 5.6. Опции Zend_Cache_Backend_File
| Опция | Тип данных | Значение по умолчанию | Описание |
|---|---|---|---|
cache_dir |
string |
'/tmp/' |
Директория, в которой хранятся файлы кэша |
file_locking |
boolean |
true |
Включает/отключает блокировку файлов. Позволяет избежать искажения данных кэша в плохих условиях, но это не поможет при многопоточном веб-сервере или файловой системе NFS... |
read_control |
boolean |
true |
Включает/отключает контроль чтения. Если включен, то в файл кэша добавляется контрольный ключ и этот ключ сравнивается с другим, вычисляемым после чтения. |
read_control_type |
string |
'crc32' |
Тип контроля чтения (только если включен readControl). Возможные значения: 'md5' (лучший, но самый медленный), 'crc32' (немного менее безопасный, но более быстрый, лучший выбор), 'adler32' (новая альтернатива, быстрее, чем crc32), 'strlen' для контроля только по длине (самый быстрый). |
hashed_directory_level |
int |
0 |
Уровень структуры хэшированного каталога:
0 означает "нет структуры
хэшированного каталога",
1 — "один уровень каталога",
2 — "два уровня"... Эта опция ускорит
кэширование только если у вас тысячи файлов кэша.
Только сравнение может помочь вам выбрать
оптимальное для вас значение. Возможно,
1 или 2 будут хорошими
значениями для начала.
|
hashed_directory_umask |
int |
0700 |
Маска режима создания файлов для структуры хэшированного каталога. |
file_name_prefix |
string |
'zend_cache' |
Префикс для файлов кэша. Будьте осторожны с этой опцией, поскольку слишком общее значение в системной директории для кэша (например '/tmp') может привести к катастрофическим последствиям при очищении кэша. |
Этот расширенный бэкэнд хранит записи кэша в базе данных SQLite.
Доступные опции:
Таблица 5.7. Опции Zend_Cache_Backend_Sqlite
| Опция | Тип данных | Значение по умолчанию | Описание |
|---|---|---|---|
cache_db_complete_path (обязательный) |
string |
null |
Полный путь (с именем файла) к базе данных SQLite. |
automatic_vacuum_factor |
int |
10 |
Отклочение/настройка процесса автоматической чистки. Автоматическая чистка дефрагментирует файл данных (и делает его меньше) при вызове методов clean() и delete(): 0 - автоматическая чистка отключена; 1 - систематическая чистка (при каждом вызове методов delete() или clean()); x (целое число больше 1) - автоматическая чистка производится случайным образом 1 раз на x вызовов методов clean() и delete(). |
Этот расширенный бэкэнд хранит записи кэша в сервере memcached. memcached — высокопроизводительная распределенная система кэширования объектов в памяти. Для того, чтобы использовать этот бэкэнд, вам нужны установленные демон memcached и расширение PECL для memcached.
Будьте осторожны: на данный момент теги для этого бэкэнда не поддерживаются, то же самое с аргументом "doNotTestCacheValidity=true".
Доступные опции:
Таблица 5.8. Опции Zend_Cache_Backend_Memcached
| Опция | Тип данных | Значение по умолчанию | Описание |
|---|---|---|---|
servers |
array |
array(array('host' => 'localhost','port' => 11211, 'persistent' => true))
|
Массив серверов memcached; каждый сервер описан ассоциативным массивом: 'host' => (string) : имя сервера memcached, 'port' => (int) : порт сервера memcached, 'persistent' => (bool) : использовать или нет постоянное соединение с этим сервером |
compression |
boolean |
false |
true, если вы хотите использовать
компрессию на лету
|
Этот расширенный бэкэнд хранит записи кэша в совместно используемой памяти через расширение APC (Alternative PHP Cache — альтернативный кэш PHP), которое, разумеется, необходимо установить для использования этого бэкэнда.
Будьте осторожны: на данный момент теги для этого бэкэнда не поддерживаются, то же самое и с аргументом "doNotTestCacheValidity=true".
Нет специальных опций для этого бэкэнда.
Этот бэкэнд хранит записи кэша в совместно используемой памяти через расширение XCache, которое должно быть установлено для использования данного бэкэнда.
Будьте осторожны: на данный момент теги для этого бэкэнда не поддерживаются, то же самое и с аргументом "doNotTestCacheValidity=true".
Доступные опции:
Таблица 5.9. Опции Zend_Cache_Backend_Xcache
| Опция | Тип данных | Значение по умолчанию | Описание |
|---|---|---|---|
user |
string |
null |
xcache.admin.user, необходима для метода clean() |
password |
string |
null |
xcache.admin.pass - пароль в незашифрованном виде, необходим для метода clean() |
Этот бэкэнд использует API Zend Platform для кэширования контента. Естетственно, использование этого бэкэнда требует наличия установленного Zend Platform.
Этот бэкэнд поддерживает теги, но не поддерживает режим очищения
CLEANING_MODE_NOT_MATCHING_TAG.
Указывайте этот бэкэнд, используя разделитель слов '-', '.', ' ',
или '_' между словами 'Zend' и 'Platform', когда используете метод
Zend_Cache::factory():
$cache = Zend_Cache::factory('Core', 'Zend Platform');
Нет специальных опций для этого бэкэнда.
Этот расширенный бэкэнд является гибридным. Он сохраняет записи кэша через два других бэкэнда: быстрый, но ограниченный в функциональных возможностях, бэкэнд (Apc, Memcache и др.), и "медленный", но более функциональный, бэкэнд (File, Sqlite и др.)
Этот бэкэнд использует параметр priority (который передается фронтэнду при сохранении записи) и оставшееся место в быстром бэкэнде для оптимизации использования этих двух бэкэндов.
Доступные опции:
Таблица 5.10. Опции Zend_Cache_Backend_TwoLevels
| Опция | Тип данных | Значение по умолчанию | Описание |
|---|---|---|---|
slow_backend |
string |
File |
Имя "медленного" бэкэнда |
fast_backend |
string |
Apc |
Имя "быстрого" бэкэнда |
slow_backend_options |
array |
array() |
Опции для "медленного" бэкэнда |
fast_backend_options |
array |
array() |
Опции для "быстрого" бэкэнда |
slow_backend_custom_naming |
boolean |
false |
Если равна true, то аргумент slow_backend используется как полное имя класса, иначе значение этого аргумента используется в конце имени класса "Zend_Cache_Backend_[...]". |
fast_backend_custom_naming |
boolean |
false |
Если равна true, то аргумент fast_backend используется как полное имя класса, иначе значение этого аргумента используется в конце имени класса "Zend_Cache_Backend_[...]". |
slow_backend_autoload |
boolean |
false |
Если равна true, то для медленного бэкэнда не будет производиться включение require_once (полезно только при использовании собственных бэкэндов). |
fast_backend_autoload |
boolean |
false |
Если равна true, то для быстрого бэкэнда не будет производиться включение require_once (полезно только при использовании собственных бэкэндов). |
auto_refresh_fast_cache |
boolean |
true |
Если равна true, то будет производиться автоматическое обновление "быстрого" кэша при попадании в кэш. |
stats_update_factor |
integer |
10 |
Настройка частоты вычисления процента заполнения быстрого бэкэнда, либо полное отключение вычисления. При сохранении записи в кэш вычисление процента заполнения быстрого бэкэнда производится случайным образом 1 раз на x записей в кэш. |


