Класс 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при попытке использовать аутентификацию без поддержки SASL в Memcached
Переопределяет
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 - Идентификатор данных
- смешанный
$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строка $key или false
Подробное описание свойств
$_serializerssource
protected массив
Список доступных движков сериализации
Memcached должен быть скомпилирован с поддержкой json и igbinary для использования этих движков
array(
'igbinary' => Memcached::SERIALIZER_IGBINARY,
'json' => Memcached::SERIALIZER_JSON,
'php' => Memcached::SERIALIZER_PHP
) $settingssource
public массив
Настройки
- servers = строка или массив серверов memcached, по умолчанию => 127.0.0.1. Если массив, MemcacheEngine будет использовать их как пул.
- compress = boolean, по умолчанию => false
- persistent = строка Имя персистентного соединения. Все конфигурации, использующие то же значение persistent, будут использовать одно и то же подлежащее соединение.
- serialize = строка, по умолчанию => php. Движок сериализации, используемый для сериализации данных. Доступные движки: php, igbinary и json. Помимо php, расширение memcached должно быть скомпилировано с поддержкой соответствующей сериализации.
- options - Дополнительные параметры для клиента memcached. Должен быть массивом option => значение. Используйте константы 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.
https://api.cakephp.org/2.9/class-MemcachedEngine.html