Бэкэнды 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_ZendPlatform
Этот бэкэнд использует API
Zend
Platform для кэширования контента. Естетственно,
использование этого бэкэнда требует наличия установленного Zend
Platform.
Этот бэкэнд поддерживает теги, но не поддерживает режим очищения
CLEANING_MODE_NOT_MATCHING_TAG.
Указывайте этот бэкэнд, используя разделитель слов '-', '.', ' ',
или '_' между словами 'Zend' и 'Platform', когда используете метод
Zend_Cache::factory():
Нет специальных опций для этого бэкэнда.
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, и не работает в случае скриптов,
запускаемых через командную строку.
Нет специальных опций для этого бэкэнда.