Введение в Zend Framework

 Learning Zend Framework

appendix

 Zend Framework Reference


  • Zend_Gdata
  • Zend_Http
  • Zend_InfoCard
  • Zend_Json
  • Zend_Layout
  • Zend_Ldap
  • Zend_Loader
  • Zend_Locale
  • Zend_Log
  • Zend_Mail
  • Zend_Markup
  • Zend_Measure
  • Zend_Memory
  • Zend_Mime
  • Zend_Navigation
  • Zend_Oauth
  • Zend_OpenId
  • Zend_Paginator
  • Zend_Pdf
  • Zend_ProgressBar
  • Zend_Queue
  • Zend_Reflection
  • Zend_Registry
  • Zend_Rest

  • Zend_Search_Lucene
  • Zend_Serializer
  • Zend_Server
  • Zend_Service
  • Zend_Session
  • Zend_Soap
  • Zend_Tag
  • Zend_Test
  • Zend_Text
  • Zend_TimeSync
  • Zend_Tool
  • Zend_Tool_Framework
  • Zend_Tool_Project
  • Zend_Translate
  • Zend_Uri
  • Zend_Validate
  • Zend_Version
  • Zend_View
  • Zend_Wildfire
  • Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Ttranslation 27.4% Update 2010-11-28 - Revision 23238 - Version ZF 1.11.x

    17.4. Бэкэнды Zend_Cache

    Есть два типа бэкэндов: стандартные и расширенные. Расширенные предоставляют больше функциональных возможностей.

    17.4.1. Zend_Cache_Backend_File

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

    Доступные опции:

    Таблица 17.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 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 Внутренний максимальный размер для массива метаданных (не изменяйте это значение если только не знаете, что делаете)

    17.4.2. Zend_Cache_Backend_Sqlite

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

    Доступные опции:

    Таблица 17.7. Опции 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().

    17.4.3. Zend_Cache_Backend_Memcached

    Этот расширенный бэкэнд хранит записи кэша в сервере memcached. memcached — высокопроизводительная распределенная система кэширования объектов в памяти. Для того, чтобы использовать этот бэкэнд, вам нужны установленные демон memcached и расширение PECL для memcached.

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

    Доступные опции:

    Таблица 17.8. Опции 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

    17.4.4. Zend_Cache_Backend_Apc

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

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

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

    17.4.5. Zend_Cache_Backend_Xcache

    Этот бэкэнд хранит записи кэша в совместно используемой памяти через расширение XCache, которое должно быть установлено для использования данного бэкэнда.

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

    Доступные опции:

    Таблица 17.9. Опции Zend_Cache_Backend_Xcache

    Опция Тип данных Значение по умолчанию Описание
    user String NULL xcache.admin.user, необходима для метода clean()
    password String NULL xcache.admin.pass - пароль в незашифрованном виде, необходим для метода clean()

    17.4.6. Zend_Cache_Backend_ZendPlatform

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

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

    Указывайте этот бэкэнд, используя разделитель слов '-', '.', ' ', или '_' между словами 'Zend' и 'Platform', когда используете метод Zend_Cache::factory():

    $cache Zend_Cache::factory('Core''Zend Platform');

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

    17.4.7. Zend_Cache_Backend_TwoLevels

    Этот расширенный бэкэнд является гибридным. Он сохраняет записи кэша через два других бэкэнда: быстрый, но ограниченный в функциональных возможностях, бэкэнд (Apc, Memcache и др.), и "медленный", но более функциональный, бэкэнд (File, Sqlite и др.)

    Этот бэкэнд использует параметр priority (который передается фронтэнду при сохранении записи) и оставшееся место в быстром бэкэнде для оптимизации использования этих двух бэкэндов.

    Доступные опции:

    Таблица 17.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 используется как полное имя класса. Если 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 записей в кэш.

    17.4.8. Zend_Cache_Backend_ZendServer_Disk и Zend_Cache_Backend_ZendServer_ShMem

    Эти бэкэнды служат для сохранения записей кэша через соответствующую возможность Zend Server.

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

    Этот бэкэнд работает только в среде Zend Server с запросами, производимыми через HTTP и HTTPS, и не работает в случае скриптов, запускаемых через командную строку.

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

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...