4.4. Бэкэнды Zend_Cache
Пред. | Глава 4. Zend_Cache | След.

## 4.4. Бэкэнды Zend_Cache

### 4.4.1. Zend_Cache_Backend_File

Этот бэкэнд хранит записи кэша в файлах (в выбранной директории)

Таблица 4.6. Доступные опции

Опция | Тип данных | Значение по умолчанию | Описание
--- | --- | --- | ---
`cacheDir` | `string` | `'/tmp/'` | Директория, в которой хранятся файлы кэша
`fileLocking` | `boolean` | `true` | Включает / отключает блокировку файлов. Позволяет избежать искажения данных кэша в плохих условиях, но это не поможет при многопоточном веб-сервере или файловой системе NFS...
`readControl` | `boolean` | `true` | Включает / отключает контроль чтения. Если включен, то в файл кэша добавляется контрольный ключ и этот ключ сравнивается с другим, вычисляемым после чтения.
`readControlType` | `string` | `'crc32'` | Тип контроля чтения (только если readControl включен). Возможные значения: 'md5' (лучший, но самый медленный), 'crc32' (немного менее безопасный, но более быстрый, лучший выбор), 'strlen' для контроля толко по длине (самый быстрый).
`hashedDirectoryLevel` | `int` | `0` | Уровень структуры хэшированного каталога: `0` означает "нет структуры хэшированного каталога", `1` — "один уровень каталога", `2` — "два уровня"... Эта опция ускорит кэширование только если у вас тысячи файлов кэша. Только сравнение может помочь вам выбрать оптимальное для вас значение. Возможно, `1` или `2` будут лучшими значениями для начала.
`hashedDirectoryUmask` | `int` | `0700` | Маска режима создания файлов для стуктуры хэшированного каталога.
`fileNamePrefix` | `string` | `'zend_cache'` | Префикс для файлов кэша. Будьте осторожны с этой опцией, поскольку слишком общее значение в системной директории для кэша (например '/tmp') может привести к катастрофичным последствиям при очищении кэша.

### 4.4.2. Zend_Cache_Backend_Sqlite

Этот бэкэнд хранит записи кэша в базе данных SQLite.

Таблица 4.7. Доступные опции

Опция | Тип данных | Значение по умолчанию | Описание
--- | --- | --- | ---
`cacheDBCompletePath (обязательный)` | `string` | `null` | Полный путь (с именем файла) к базе данных SQLite.
`automaticVacuumFactor` | `int` | `10` | Отклочение / настройка процесса автоматической чистки. Автоматическая чистка дефрагментирует файл данных (и делает его меньше) при вызове методов clean() и delete(): 0 - автоматическая чистка отключена; 1 - систематическая чистка (при каждом вызове методов delete() и clean()); x (целое число больше 1) - автоматическая чистка производится случайным образом 1 раз на x вызовов методов clean() и delete().

### 4.4.3. Zend_Cache_Backend_Memcached

Этот бэкэнд хранит записи кэша в серверах memcached. memcached — высокопроизводительная распределенная система кэширования объектов в памяти.

Будьте осторожны: на данный момент теги для этого бэкэнда не поддерживаются, как и аргумент "doNotTestCacheValidity=true".

Таблица 4.8. Доступные опции

Опция | Тип данных | Значение по умолчанию | Описание
--- | --- | --- | ---
`servers` | `array` | `array(array('host' => 'localhost','port' => 11211, 'persistent' => true))` | Массив серверов memcached; каждый сервер описан посредством ассоциативного массива: 'host' => (string) : имя сервера memcached, 'port' => (int) : порт сервера memcached, 'persistent' => (bool) : использовать или нет постоянное соединение с этим сервером
`compression` | `boolean` | `flase` | `true`, если вы хотите использовать компрессию на лету

### 4.4.4. Zend_Cache_Backend_APC

Этот бэкэнд хранит записи кэша в совместно используемой памяти через расширение APC (Alternative PHP Cache — альтернативный кэш PHP), которое необходимо установить перед тем, как использовать этот бэкэнд.

Будьте осторожны: на данный момент теги для этого бэкэнда не поддерживаются, как и аргумент "doNotTestCacheValidity=true".

Нет специальных опций для этого бэкэнда.

### 4.4.5. Zend_Cache_Backend_ZendPlatform

Этот бэкэнд использует API Zend Platform для кэширования контента. Естетственно, использование этого бэкэнда требует наличия установленного Zend Platform.

Этот бэкэнд поддерживает теги, но не поддерживает режим очищения `CLEANING_MODE_NOT_MATCHING_TAG`.

Нет специальных опций для этого бэкэнда.

Пред. | Уровень выше | След.
4.3. Фронтэнды Zend_Cache | Начало | Глава 5. Zend_Config