Класс MemcachedEngine
Двигатель кеширования Memcached для кеша. Memcached имеет некоторые ограничения в управлении временем истечения действия далеко в будущем. Для получения дополнительной информации см. MemcachedEngine::write().
Основное преимущество этого двигателя Memcached перед движком memcached — поддержка бинарного протокола и сериализации igbibnary (если расширение memcached скомпилировано с --enable-igbinary). Сжатые ключи также могут быть увеличены/уменьшены.
Этот движок кэша требует по крайней мере расширения ext/memcached версии 2.0
- CacheEngine
-
MemcachedEngine
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://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('EngineName', [опциональные] settings = array());
Параметры
- массив
$settingsопционально array() - Массив настроек для движка.
Возвращает
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 - Идентификатор данных.
- 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строка $key или false
Подробное описание свойств
$_serializerssource
protected array
Список доступных движков сериализации.
Memcached должен быть скомпилирован с поддержкой json и igbinary, чтобы использовать эти движки.
array(
'igbinary' => Memcached::SERIALIZER_IGBINARY,
'json' => Memcached::SERIALIZER_JSON,
'php' => Memcached::SERIALIZER_PHP
) $settingssource
public array
Настройки.
- 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–2017 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.10/class-MemcachedEngine.html