Класс MemcachedEngine
Двигатель кэша Memcached для хранения данных. Memcached имеет некоторые ограничения на управление временем истечения кэша в далёком будущем. Дополнительную информацию см. в MemcachedEngine::write().
Основное преимущество этого двигателя Memcached перед двигателем memcached — поддержка двоичного протокола и сериализации igbinary (если расширение memcached скомпилировано с параметром --enable-igbinary). Сжатые ключи также могут быть увеличены/уменьшены.
Этот движок кэша требует как минимум версию ext/memcached 2.0
- CacheEngine
-
MemcachedEngine
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Cache/Engine/MemcachedEngine.php
Краткое описание свойств
-
$_MemcachedprotectedОбёртка memcached.Memcache -
$_serializersprotectedСписок доступных двигателей сериализацииarray -
$settingspublicНастройкиarray
Наследованные свойства
Краткое описание методов
- _parseServerString() protected
Разбирает адрес сервера на хост/порт. Поддерживает IPv6 и IPv4 адреса, а также Unix сокеты
- _setOptions() protectedУстановка экземпляра memcached
- add() public
Записывает данные для ключа в кэш, если они ещё не существуют. При использовании memcached в качестве движка кэша помните, что расширение Memcached PECL не поддерживает время истечения кэша более 30 дней в будущем. Любой срок больше 30 дней будет рассматриваться как неистекающий. В случае, если ключ уже существует, операция завершается ошибкой и возвращает false.
- clear() publicУдаляет все ключи из кэша
- clearGroup() public
Увеличивает значение группы, чтобы имитировать удаление всех ключей в группе. Старые значения останутся в хранилище до истечения срока их действия.
- decrement() publicУменьшает значение целочисленного кэшированного ключа
- delete() publicУдаляет ключ из кэша
- groups() public
Возвращает
group valueдля каждой из настроенных групп. Если начальное значение группы не найдено, группа инициализируется соответствующим образом. - increment() publicУвеличивает значение целочисленного кэшированного ключа
- init() publicИнициализация движка кэша
- read() publicЧтение ключа из кэша
- write() public
Запись данных для ключа в кэш. При использовании memcached в качестве движка кэша помните, что расширение Memcached PECL не поддерживает время истечения кэша более 30 дней в будущем. Любой срок больше 30 дней будет рассматриваться как неистекающий.
Подробное описание методов
_parseServerString()source protected
_parseServerString( string $server )
Разбирает адрес сервера на хост/порт. Поддерживает IPv6 и IPv4 адреса, а также Unix сокеты
Параметры
- строка
$server - Строка адреса сервера.
Возвращает
массивМассив, содержащий хост и порт
_setOptions()source protected
_setOptions( )
Установка экземпляра memcached
Исключения
CacheExceptionпри отсутствии поддержки нужного двигателя сериализации в расширении Memcached
add()source public
add( string $key , mixed $value , integer $duration )
Записывает данные для ключа в кэш, если они ещё не существуют. При использовании memcached в качестве движка кэша помните, что расширение Memcached PECL не поддерживает время истечения кэша более 30 дней в будущем. Любой срок больше 30 дней будет рассматриваться как неистекающий. В случае, если ключ уже существует, операция завершается ошибкой и возвращает false.
Параметры
- строка
$key - Идентификатор данных.
- смешанное
$value - Данные, подлежащие кэшированию.
- целое число
$duration - Время кэширования данных в секундах.
Возвращает
булевоTrue, если данные были успешно кэшированы, false в случае ошибки.
Ссылка
http://php.net/manual/en/memcached.add.phpПереопределяет
CacheEngine::add() clear()source public
clear( boolean $check )
Удаляет все ключи из кэша
Параметры
- булево
$check Если true, удаления не произойдут, и CakePHP будет полагаться на значения TTL ключей.
Возвращает
булевоTrue, если кэш был успешно очищен, false в противном случае. Также вернёт false, если используется двоичный протокол.
clearGroup()source public
clearGroup( string $group )
Увеличивает значение группы, чтобы имитировать удаление всех ключей в группе. Старые значения останутся в хранилище до истечения срока их действия.
Параметры
- строка
$group - Группа для очистки.
Возвращает
булевоРезультат операции
Переопределяет
CacheEngine::clearGroup() decrement()source public
decrement( string $key , integer $offset 1 )
Уменьшает значение целочисленного кэшированного ключа
Параметры
- строка
$key - Идентификатор данных
- целое число
$offsetпо умолчанию 1 - На сколько уменьшить
Возвращает
Новоеуменьшенное значение, false в противном случае
Исключения
CacheExceptionпри попытке уменьшить с compress = true
delete()source public
delete( string $key )
Удаляет ключ из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
булевоTrue, если значение было успешно удалено, false, если его не существовало или не удалось удалить
groups()source public
groups( )
Возвращает group value для каждой из настроенных групп. Если начальное значение группы не найдено, группа инициализируется соответствующим образом.
Возвращает
массивПереопределяет
CacheEngine::groups() increment()source public
increment( string $key , integer $offset 1 )
Увеличивает значение целочисленного кэшированного ключа
Параметры
- строка
$key - Идентификатор данных
- целое число
$offsetпо умолчанию 1 - На сколько увеличить
Возвращает
Новоеувеличенное значение, false в противном случае
Исключения
CacheExceptionпри попытке увеличить с compress = true
init()source public
init( array $settings array() )
Инициализация кэша.
Вызывается автоматически передним кэшем. Для повторной инициализации настроек вызовите Cache::engine('ИмяДвигателя', [опциональные] настройки = массив());
Параметры
- массив
$settingsопционально массив() - массив настроек для двигателя
Возвращает
booleanTrue, если двигатель был успешно инициализирован, false — в противном случае
Исключения
CacheExceptionпри попытке использовать аутентификацию без Memcached, скомпилированного с поддержкой SASL
Переопределяет
CacheEngine::init() read()source public
read( string $key )
Чтение ключа из кэша.
Параметры
- строка
$key - Идентификатор данных
Возвращает
mixedДанные кэша или false, если данных нет, они истекли или произошла ошибка при их извлечении
write()source public
write( string $key , mixed $value , integer $duration )
Запись данных для ключа в кэш. При использовании memcached в качестве кэша имейте в виду, что расширение Memcached PECL не поддерживает время истечения кэша более чем на 30 дней в будущем. Любой срок больше 30 дней будет обрабатываться как неистекающий.
Параметры
- строка
$key - Идентификатор данных
- mixed
$value - Данные для кэширования
- целое число
$duration - Время кэширования данных в секундах
Возвращает
booleanTrue, если данные были успешно кэшированы, false — при ошибке
См. также
http://php.net/manual/en/memcache.set.phpМетоды, унаследованные от CacheEngine
gc()source public
gc( integer $expires null )
Сбор мусора
Постоянно удаляет все истекшие и удаленные данные
Параметры
- целое число
$expiresопционально null - [опционально] отметка времени истечения, аннулирующая все данные до нее.
key()source public
key( string $key )
Генерирует безопасный ключ для использования с кэширующими хранилищами.
Параметры
- строка
$key - переданный ключ
Возвращает
mixedстрока $ключ или false
Подробное описание свойств
$_serializerssource
protected массив
Список доступных двигателей сериализации
Memcached должен быть скомпилирован с поддержкой json и igbinary, чтобы использовать эти двигатели
array(
'igbinary' => Memcached::SERIALIZER_IGBINARY,
'json' => Memcached::SERIALIZER_JSON,
'php' => Memcached::SERIALIZER_PHP
) $settingssource
public массив
Настройки
- серверы = строка или массив серверов memcached, по умолчанию => 127.0.0.1. Если массив, MemcacheEngine будет использовать их как пул.
- сжимать = boolean, по умолчанию => false
- постоянный = строка Имя постоянного подключения. Все конфигурации с одинаковым постоянным значением будут использовать одно и то же подлежащее подключение.
- сериализовать = строка, по умолчанию => php. Двигатель сериализации, используемый для сериализации данных. Доступные двигатели: php, igbinary и json. Помимо php, расширение memcached должно быть скомпилировано с соответствующей поддержкой сериализации.
- опции - Дополнительные опции для клиента memcached. Должны быть массивом опция => значение. Используйте константы Memcached::OPT_* в качестве ключей.
array()
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.8/class-MemcachedEngine.html