Класс MemcachedEngine
Движок кэширования Memcached для кэша. Memcached имеет некоторые ограничения в управлении временем истечения кэша в далеком будущем. Дополнительную информацию см. в MemcachedEngine::write().
Движок Memcached поддерживает двоичный протокол и сериализацию igbinary (если расширение memcached скомпилировано с --enable-igbinary). Сжатые ключи также могут быть инкрементированы/декрементированы.
- Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
-
Cake\Cache\Engine\MemcachedEngine
Краткое описание свойств
-
$_MemcachedprotectedОбёртка memcached.Memcached -
$_compiledGroupNamesprotectedstring[] -
$_defaultConfigprotectedЗначение конфигурации по умолчанию, если не переопределено конфигурацией во время выполненияarray -
$_serializersprotectedСписок доступных двигателей сериализацииarray
Унаследованные свойства
Краткое описание методов
- Обратный совместимый псевдоним для parseServerString
- _setOptions() protectedНастройка экземпляра memcached
- add() publicДобавление ключа в кэш, если он еще не существует.
- clear() publicУдаление всех ключей из кэша
- clearGroup() public
Увеличивает значение группы, чтобы имитировать удаление всех ключей в группе. Старые значения останутся в хранилище до истечения срока действия.
- decrement() publicУменьшение значения целочисленного кэшированного ключа
- delete() publicУдаление ключа из кэша
- deleteMany() publicУдаление сразу многих ключей из кэша
- getOption() publicЧтение значения параметра из соединения memcached.
- groups() public
Возвращает значения
group valueдля каждой из настроенных групп. Если начальное значение группы не найдено, оно инициализируется соответствующим образом. - increment() publicУвеличение значения целочисленного кэшированного ключа
- init() publicИнициализация движка кэша
- parseServerString() public
Парсит адрес сервера в хост/порт. Обрабатывает адреса IPv6 и IPv4, а также сокеты Unix.
- read() publicЧтение ключа из кэша
- readMany() publicЧтение сразу многих ключей из кэша
- write() public
Запись данных для ключа в кэш. При использовании memcached в качестве движка кэширования помните, что расширение Memcached pecl не поддерживает время истечения кэша больше 30 дней в будущем. Любой срок больше 30 дней будет обрабатываться как неистекающий.
- writeMany() publicЗапись сразу многих записей в кэш
Подробное описание методов
_parseServerString()source protected deprecated
_parseServerString( string $server )
Обратный совместимый псевдоним для parseServerString
Устаревшее
3.4.13 Будет удалено в 4.0.0Параметры
- строка
$server - Строка адреса сервера.
Возвращает
массивМассив, содержащий хост и порт
_setOptions()source protected
_setOptions( )
Настройка экземпляра memcached
Исключения
InvalidArgumentExceptionКогда расширение Memcached не скомпилировано с необходимым двигателем сериализации.
add()source public
add( string $key , mixed $value )
Добавление ключа в кэш, если он еще не существует.
Параметры
- строка
$key - Идентификатор данных.
- смешанное
$value - Данные, которые нужно кэшировать.
Возвращает
булевоИстина, если данные были успешно кэшированы, ложь в случае неудачи.
Переопределяет
Cake\Cache\CacheEngine::add() clear()source public
clear( boolean $check )
Удаление всех ключей из кэша
Параметры
- булево
$check - Если истина, проверяет истечение срока действия, иначе удаляет все.
Возвращает
булевоИстина, если кэш был успешно очищен, ложь в противном случае
clearGroup()source public
clearGroup( string $group )
Увеличивает значение группы, чтобы имитировать удаление всех ключей в группе. Старые значения останутся в хранилище до истечения срока действия.
Параметры
- строка
$group - имя группы для очистки
Возвращает
булевоуспех
Переопределяет
Cake\Cache\CacheEngine::clearGroup() decrement()source public
decrement( string $key , integer $offset = 1 )
Уменьшение значения целочисленного кэшированного ключа
Параметры
- строка
$key - Идентификатор данных
- целое
$offsetнеобязательно 1 - На сколько уменьшить
Возвращает
булево|целоеНовое уменьшенное значение, ложь в противном случае
delete()source public
delete( string $key )
Удаление ключа из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
булевоИстина, если значение было успешно удалено, ложь, если его не существовало или не удалялось.
deleteMany()source public
deleteMany( array $keys )
Удаление сразу многих ключей из кэша
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
массивмассив булевых значений, которые истинны, если ключ был успешно удален, ложь, если его не существовало или не удалялся.
Переопределяет
Cake\Cache\CacheEngine::deleteMany() getOption()source public
getOption( string $name )
Чтение значения параметра из соединения memcached.
Параметры
- строка
$name - Имя параметра для чтения.
Возвращает
строка|целое|null|булевоgroups()source public
groups( )
Возвращает значения group value для каждой из настроенных групп. Если начальное значение группы не найдено, то группа инициализируется соответствующим образом.
Возвращает
arrayПереопределяет
Cake\Cache\CacheEngine::groups() increment()source public
increment( string $key , integer $offset = 1 )
Увеличивает значение целочисленного кэшированного ключа
Параметры
- строка
$key - Идентификатор данных
- целое число
$offsetнеобязательно 1 - На сколько увеличить
Возвращает
boolean|integerНовое увеличенное значение, в противном случае false
init()source public
init( array $config = [] )
Инициализация кэша
Вызывается автоматически фронтендом кэша
Параметры
- массив
$configнеобязательно [] - массив настроек для движка
Возвращает
booleanTrue, если движок успешно инициализирован, в противном случае false
Исключения
InvalidArgumentExceptionПри попытке использовать аутентификацию без поддержки SASL в Memcached
Переопределяет
Cake\Cache\CacheEngine::init() parseServerString()source public
parseServerString( string $server )
Парсит адрес сервера в хост/порт. Обрабатывает адреса IPv6 и IPv4, а также Unix-сокеты
Параметры
- строка
$server - Строка адреса сервера.
Возвращает
arrayМассив, содержащий хост и порт
read()source public
read( string $key )
Чтение ключа из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
mixedКэшированные данные или false, если данных нет, срок действия истек или произошла ошибка при их извлечении.
readMany()source public
readMany( array $keys )
Чтение нескольких ключей из кэша одновременно
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
arrayМассив, содержащий, для каждого из переданных $keys, кэшированные данные или false, если кэшированные данные не удалось получить.
Переопределяет
Cake\Cache\CacheEngine::readMany() write()source public
write( string $key , mixed $value )
Запись данных для ключа в кэш. При использовании memcached в качестве кэша помните, что расширение Memcached pecl не поддерживает время истечения кэша, превышающее 30 дней в будущем. Любой срок больше 30 дней будет обрабатываться как срок действия без истечения.
Параметры
- строка
$key - Идентификатор данных
- смешанное
$value - Данные для кэширования
Возвращает
booleanTrue, если данные успешно кэшированы, false в случае неудачи
См.
https://secure.php.net/manual/en/memcache.set.phpwriteMany()source public
writeMany( array $data )
Запись нескольких записей кэша в кэш одновременно
Параметры
- массив
$data - Массив данных, которые нужно сохранить в кэше
Возвращает
arrayМассив булевых значений для каждого предоставленного ключа, true, если данные были успешно кэшированы, false в случае неудачи
Переопределяет
Cake\Cache\CacheEngine::writeMany() Методы, унаследованные от Cake\Cache\CacheEngine
_key()source protected
_key( string $key )
Генерирует безопасный ключ, учитывая настроенный префикс ключа
Параметры
- строка
$key - переданный ключ
Возвращает
mixedстрока $key или false
Исключения
InvalidArgumentExceptionЕсли значение ключа пустое
gc()source public
gc( integer|null $expires = null )
Сбор мусора
Постоянное удаление всех истекших и удалённых данных
Параметры
- целое число|null
$expiresнеобязательно null - [необязательно] Отметка времени истечения, делающая все данные до неё недействительными.
key()source public
key( string $key )
Генерирует безопасный ключ для использования с движками хранения кэша.
Параметры
- строка
$key - переданный ключ
Возвращает
boolean|stringстрока ключа или false
warning()source protected
warning( string $message )
Движки кэша могут вызывать предупреждения, если они обнаруживают ошибки во время работы, если опция warnOnWriteFailures установлена в значение true.
Параметры
- строка
$message - Сообщение предупреждения.
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Исключения
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Считывает значение конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает значение конфигурации.
Параметры
- строка|массив
$key - Ключ, в который записывать.
- смешанное
$value - Значение для записи.
- boolean|строка
$mergeнеобязательно false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Исключения
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
config()source public deprecated
config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Получение/установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение определённого значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определённого значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устаревшее
3.4.0 используйте setConfig()/getConfig() вместо.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или весь массив конфигураций.
- смешанное|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Рекурсивно сливать или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
mixedЗначение конфигурации для чтения или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Объединить предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- string|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- mixed
$defaultнеобязательно null - Возвращаемое значение, когда ключ не существует.
Возвращает
mixedЗначение считываемой конфигурации.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или массив конфигураций.
- mixed|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять ли рекурсивное объединение или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$this
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить неверный ключ.
Подробности свойств
$_defaultConfigsource
protected array
Конфигурация по умолчанию, используемая, если не переопределена конфигурацией во время выполнения
-
compressСжимать ли данные -
durationУкажите, как долго элементы в этой конфигурации кэша хранятся. -
groupsСписок групп или «метки», связанных с каждым ключом, хранящимся в этой конфигурации. Удобно для удаления целой группы из кэша. -
usernameЛогин для доступа к серверу Memcache -
passwordПароль для доступа к серверу Memcache -
persistentИмя постоянного подключения. Все конфигурации, использующие то же значение persistence, будут совместно использовать одно базовое подключение. -
prefixПрефикс для всех записей. Хорошо подходит, когда вам нужно использовать пространство имен ключей с другой конфигурацией кэша или другим приложением. -
probabilityВероятность запуска очистки кэша gc. Установка в 0 отключит автоматическое вызов cache::gc. -
serializeДвигатель сериализации, используемый для сериализации данных. Доступные движки — php, igbinary и json. Помимо php, расширение memcached должно быть скомпилировано с соответствующей поддержкой сериализации. -
serversСтрока или массив серверов memcached. Если массив, MemcacheEngine будет использовать их как пул. -
optionsДополнительные параметры для клиента memcached. Должен быть массивом option => value. Используйте константы \Memcached::OPT_*.
[
'compress' => false,
'duration' => 3600,
'groups' => [],
'host' => null,
'username' => null,
'password' => null,
'persistent' => false,
'port' => null,
'prefix' => 'cake_',
'probability' => 100,
'serialize' => 'php',
'servers' => ['127.0.0.1'],
'options' => [],
] $_serializerssource
protected array
Список доступных движков сериализации
Memcached должен быть скомпилирован с поддержкой json и igbinary, чтобы использовать эти движки
[]
© 2005–present 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/3.6/class-Cake.Cache.Engine.MemcachedEngine.html