Бэкэнды Zend_Cache
Есть два типа бэкэндов: стандартные и расширенные. Расширенные
предоставляют больше функциональных возможностей.
Zend_Cache_Backend_File
Этот расширенный бэкэнд хранит записи кэша в файлах (в выбранной
директории).
Доступные опции:
Опции 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 |
Integer |
0 |
Уровень структуры хэшированного каталога:
0 означает "нет структуры
хэшированного каталога",
1 — "один уровень каталога",
2 — "два уровня"... Эта опция ускорит
кэширование только если у вас тысячи файлов кэша.
Только сравнение может помочь вам выбрать
оптимальное для вас значение. Возможно,
1 или 2 будут хорошими
значениями для начала.
|
hashed_directory_umask |
Integer |
0700 |
Маска режима создания файлов для структуры
хэшированного каталога.
|
file_name_prefix |
String |
'zend_cache' |
Префикс для файлов кэша. Будьте осторожны с этой
опцией, поскольку слишком общее значение в
системной директории для кэша (например,
/tmp)
может привести к катастрофическим последствиям при
очищении кэша.
|
cache_file_umask |
Integer |
0700 |
umask для файлов кэша
|
metatadatas_array_max_size |
Integer |
100 |
Внутренний максимальный размер для массива
метаданных (не изменяйте это значение если только
не знаете, что делаете)
|
Zend_Cache_Backend_Sqlite
Этот расширенный бэкэнд хранит записи кэша в базе данных SQLite.
Доступные опции:
Опции Zend_Cache_Backend_Sqlite
Опция |
Тип данных |
Значение по умолчанию |
Описание |
cache_db_complete_path (обязательный) |
String |
NULL |
Полный путь (с именем файла) к базе данных SQLite.
|
automatic_vacuum_factor |
Integer |
10 |
Отклочение/настройка процесса автоматической
чистки. Автоматическая чистка дефрагментирует
файл данных (и делает его меньше) при вызове
методов clean()
и delete():
0 - автоматическая чистка отключена;
1 - систематическая чистка (при каждом вызове
методов delete() или
clean());
x (целое число больше 1) - автоматическая чистка
производится случайным образом 1 раз на x вызовов
методов clean()
и delete().
|
Zend_Cache_Backend_Memcached
Этот расширенный бэкэнд хранит записи кэша в сервере memcached.
» memcached —
высокопроизводительная распределенная система кэширования объектов
в памяти. Для того, чтобы использовать этот бэкэнд, вам нужны
установленные демон memcached и » расширение PECL для memcached.
Будьте осторожны: на данный момент теги для этого бэкэнда
не поддерживаются, то же самое с аргументом
"doNotTestCacheValidity=true".
Доступные опции:
Опции Zend_Cache_Backend_Memcached
Опция |
Тип данных |
Значение по умолчанию |
Описание |
servers |
Array |
array(array('host' => 'localhost', 'port' => 11211, 'persistent' => true, 'weight' => 1,
'timeout' => 5, 'retry_interval' => 15, 'status' => true, 'failure_callback' => '' ))
|
Массив серверов memcached; каждый сервер описан
ассоциативным массивом:
'host' => (string) : имя сервера memcached,
'port' => (int) : порт сервера memcached,
'persistent' => (bool) : использовать или нет
постоянное соединение с сервером,
'weight' => (int) : вес сервера memcached,
'timeout' => (int) : таймаут сервера memcached,
'retry_interval' => (int) : интервал между повторными попытками,
'status' => (bool) : статус сервера memcached,
'failure_callback' => (callback) : обратный вызов сервера memcached
|
compression |
Boolean |
FALSE |
TRUE, если вы хотите использовать
компрессию "на лету"
|
compatibility |
Boolean |
FALSE |
TRUE, если нужно включить режим
совместимости со старыми серверами и расширениями
memcache
|
Zend_Cache_Backend_Apc
Этот расширенный бэкэнд хранит записи кэша в совместно используемой
памяти через расширение
» APC
(Alternative PHP Cache — альтернативный
кэш PHP), которое, разумеется, необходимо
установить для использования этого бэкэнда.
Будьте осторожны: на данный момент теги для этого бэкэнда
не поддерживаются, то же самое и с аргументом
"doNotTestCacheValidity=true".
Нет специальных опций для этого бэкэнда.
Zend_Cache_Backend_Xcache
Этот бэкэнд хранит записи кэша в совместно используемой
памяти через расширение
» XCache, которое
должно быть установлено для использования данного бэкэнда.
Будьте осторожны: на данный момент теги для этого бэкэнда
не поддерживаются, то же самое и с аргументом
"doNotTestCacheValidity=true".
Доступные опции:
Опции Zend_Cache_Backend_Xcache
Опция |
Тип данных |
Значение по умолчанию |
Описание |
user |
String |
NULL |
xcache.admin.user,
необходима для метода
clean()
|
password |
String |
NULL |
xcache.admin.pass - пароль
в незашифрованном виде,
необходим для метода
clean()
|
Zend_Cache_Backend_TwoLevels
Этот расширенный бэкэнд является гибридным. Он сохраняет записи кэша
через два других бэкэнда: быстрый, но ограниченный в функциональных
возможностях, бэкэнд (Apc, Memcache и др.),
и "медленный", но более функциональный, бэкэнд (File, Sqlite и др.)
Этот бэкэнд использует параметр priority (который передается
фронтэнду при сохранении записи) и оставшееся место в быстром
бэкэнде для оптимизации использования этих двух бэкэндов.
Доступные опции:
Опции 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
используется как полное имя класса.
Если FALSE, то
значение этого аргумента используется в конце
имени класса
"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 записей в кэш.
|
Zend_Cache_Backend_ZendServer_Disk и Zend_Cache_Backend_ZendServer_ShMem
Эти бэкэнды служат для сохранения записей кэша через соответствующую
возможность » Zend Server.
Будьте осторожны - в настоящий момент этот бэкэнд не поддерживает
теги, так же, как и аргумент "doNotTestCacheValidity=true".
Этот бэкэнд работает только в среде Zend Server с запросами,
производимыми через HTTP и
HTTPS, и не работает в случае скриптов,
запускаемых через командную строку.
Нет специальных опций для этого бэкэнда.
|
|