Spec-Zone.ru › CakePHP 3.8

Класс MemcachedEngine

Движок кэша Memcached для хранения данных. Memcached имеет некоторые ограничения на управление временем истечения кэша в далёком будущем. Для получения дополнительной информации см. MemcachedEngine::write().

Движок Memcached поддерживает двоичный протокол и сериализацию igbinary (если расширение memcached скомпилировано с параметром --enable-igbinary). Сжатые ключи также можно увеличивать/уменьшать.

Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
Расширяется Cake\Cache\Engine\MemcachedEngine
Пространство имён: Cake\Cache\Engine
Расположение: Cache/Engine/MemcachedEngine.php

Краткое описание свойств

  • $_Memcached protected
    Memcached
    Обёртка над memcached.
  • $_compiledGroupNames protected
    string[]
  • $_defaultConfig protected
    array
    Значение конфигурации по умолчанию, если не переопределено в конфигурации
  • $_serializers protected
    array
    Список доступных движков сериализации

Наследуемые свойства

  • _groupPrefix _config, _configInitialized

Краткое описание методов

  • _parseServerString() protected устаревший
    Обратный совместимый псевдоним для 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()исходный код protected устаревший

_parseServerString( string $server )

Обратный совместимый псевдоним для parseServerString

Устарело

3.4.13 Будет удалено в 4.0.0

Параметры

строка $server
Строка адреса сервера.

Возвращает

массив
Массив, содержащий хост и порт

_setOptions()исходный код protected

_setOptions( )

Установка экземпляра memcached

Выбрасывает

InvalidArgumentException

Если расширение Memcached не скомпилировано с нужным движком сериализации.


add()исходный код public

add( string $key , mixed $value )

Добавление ключа в кэш, если он ещё не существует.

Параметры

строка $key
Идентификатор данных.
смешанный $value
Данные для кэширования.

Возвращает

булево
True, если данные успешно кэшированы, false в противном случае.

Переопределяет

Cake\Cache\CacheEngine::add()

clear()исходный код public

clear( boolean $check )

Удаление всех ключей из кэша

Параметры

булево $check
Если true, будет проверка истечения срока действия, иначе все ключи будут удалены.

Возвращает

булево
True, если кэш успешно очищен, false в противном случае

clearGroup()исходный код public

clearGroup( string $group )

Увеличивает значение группы для имитации удаления всех ключей в группе. Старые значения останутся в хранилище до их истечения.

Параметры

строка $group
имя группы, которая должна быть очищена

Возвращает

булево
Успех

Переопределяет

Cake\Cache\CacheEngine::clearGroup()

decrement()исходный код public

decrement( string $key , integer $offset = 1 )

Уменьшение значения целочисленного кэшированного ключа

Параметры

строка $key
Идентификатор данных
целое $offset необязательно 1
На сколько уменьшить

Возвращает

булево|целое
Новое уменьшенное значение, false в противном случае

delete()исходный код public

delete( string $key )

Удаление ключа из кэша

Параметры

строка $key
Идентификатор данных

Возвращает

булево

True, если значение было успешно удалено, false, если оно не существовало или не удалось удалить.


deleteMany()исходный код public

deleteMany( array $keys )

Удаление нескольких ключей из кэша сразу

Параметры

массив $keys
Массив идентификаторов данных

Возвращает

массив

массив булевых значений, true, если ключ был успешно удален, false, если он не существовал или не удалось удалить.


Переопределяет

Cake\Cache\CacheEngine::deleteMany()

getOption()исходный код 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 необязательно []
массив настроек для движка

Возвращает

boolean
True, если движок был успешно инициализирован, 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
Данные для кэширования

Возвращает

boolean
True, если данные были успешно кэшированы, false при ошибке

См.

https://secure.php.net/manual/en/memcache.set.php

writeMany()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
Данные конфигурации по указанному ключу или null, если ключ не найден.

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
При попытке установить недопустимый ключ.

Подробное описание свойств

$_Memcachedsource

protected Memcached

обёртка memcached.

$_compiledGroupNamessource

protected string[]

[]

$_defaultConfigsource

protected array

Конфигурация по умолчанию, используется, если не переопределена.

  • compress Нужно ли сжимать данные
  • duration Указывает, как долго элементы в этой конфигурации кеширования сохраняются.
  • groups Список групп или «тегов», связанных с каждым ключом, хранящимся в этой конфигурации. Полезно для удаления всей группы из кэша.
  • username Авторизация для доступа к серверу Memcache
  • password Пароль для доступа к серверу Memcache
  • persistent Имя постоянного подключения. Все конфигурации, использующие то же значение persistent, будут совместно использовать одно и то же базовое подключение.
  • prefix Префикс для всех записей. Полезно, когда нужно использовать одну и ту же область ключей с другой конфигурацией кэша или другим приложением.
  • probability Вероятность запуска автоматической очистки кэша. Установка в 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.8/class-Cake.Cache.Engine.MemcachedEngine.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API