Spec-Zone.ru › CakePHP 3.5

Класс MemcachedEngine

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

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

Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
Extended by 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()source protected

_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
Данные для кэширования.

Возвращает

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

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

Cake\Cache\CacheEngine::add()

clear()source public

clear( boolean $check )

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

Параметры

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

Возвращает

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

clearGroup()source public

clearGroup( string $group )

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

Параметры

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

Возвращает

булево
успех

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

Cake\Cache\CacheEngine::clearGroup()

decrement()source public

decrement( string $key , integer $offset 1 )

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

Параметры

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

Возвращает

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

delete()source public

delete( string $key )

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

Параметры

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

Возвращает

булево

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


deleteMany()source public

deleteMany( array $keys )

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

Параметры

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

Возвращает

массив

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


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

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 )

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

Параметры

string $key
Идентификатор данных
integer $offset необязательно 1
На сколько увеличить

Возвращает

boolean|integer
Новое увеличенное значение, иначе false

init()source public

init( array $config [] )

Инициализация кэша

Вызывается автоматически интерфейсом кэша

Параметры

array $config необязательно []
массив настроек для движка

Возвращает

boolean
True, если движок успешно инициализирован, false — в противном случае

Выбрасывает

InvalidArgumentException

Если вы пытаетесь использовать аутентификацию без поддержки Memcached с SASL


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

Cake\Cache\CacheEngine::init()

parseServerString()source public

parseServerString( string $server )

Разбирает адрес сервера на хост/порт. Поддерживает IPv6 и IPv4 адреса, а также Unix-сокеты

Параметры

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

Возвращает

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

read()source public

read( string $key )

Чтение ключа из кэша

Параметры

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

Возвращает

mixed

Кэшированные данные или false, если данные не существуют, истекли срок действия или произошла ошибка при их получении.


readMany()source public

readMany( array $keys )

Одновременное чтение нескольких ключей из кэша

Параметры

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

Возвращает

array

Массив, содержащий для каждого из заданных ключей кэшированные данные или false, если данные не были получены.


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

Cake\Cache\CacheEngine::readMany()

write()source public

write( string $key , mixed $value )

Запись данных для ключа в кэш. При использовании memcached в качестве кэша помните, что расширение Memcached pecl не поддерживает временные интервалы кэширования более 30 дней в будущем. Любой период времени, превышающий 30 дней, будет обрабатываться как неистекающий.

Параметры

string $key
Идентификатор данных
mixed $value
Данные для кэширования

Возвращает

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

См. также

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

writeMany()source public

writeMany( array $data )

Одновременная запись нескольких записей в кэш

Параметры

array $data
Массив данных, которые нужно сохранить в кэше

Возвращает

array

массив булевых значений для каждого ключа, true, если данные были успешно кэшированы, false — при ошибке


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

Cake\Cache\CacheEngine::writeMany()

Методы, унаследованные от Cake\Cache\CacheEngine

_key()source protected

_key( string $key )

Генерирует безопасный ключ, учитывая префикс ключа, заданный в конфигурации

Параметры

string $key
переданный ключ

Возвращает

mixed
строка $key или false

Выбрасывает

InvalidArgumentException
Если значение ключа пустое

gc()source public

gc( integer|null $expires null )

Сбор мусора

Постоянно удаляет все просроченные и удаленные данные

Параметры

integer|null $expires необязательно null
[необязательно] Отметка времени истечения срока действия, делающая все данные до нее недействительными.

key()source public

key( string $key )

Генерирует безопасный ключ для использования с движками хранения кэша.

Параметры

string $key
переданный ключ

Возвращает

boolean|string
строка ключа или false

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

Удаляет отдельный ключ конфигурации.

Параметры

string $key
Ключ для удаления.

Выбрасывает

Cake\Core\Exception\Exception
если пытаетесь перезаписать существующую конфигурацию

_configRead()source protected

_configRead( string|null $key )

Читает ключ конфигурации.

Параметры

string|null $key
Ключ для чтения.

Возвращает

mixed

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge false )

Записывает ключ конфигурации.

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $merge необязательно false

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.

Выбрасывает

Cake\Core\Exception\Exception
если пытаетесь перезаписать существующую конфигурацию

config()source public

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() вместо этого.

Параметры

string|array|null $key необязательно null
Ключ для получения/установки или весь массив конфигураций.
mixed|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
При попытке установить недопустимый ключ.

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

$_Memcachedsource

protected Memcached

Обертка Memcached.

$_compiledGroupNamessource

protected string[]

[]

$_defaultConfigsource

protected array

Конфигурация по умолчанию, используемая, если не переопределена конфигурацией во время выполнения

  • compress Сжимать ли данные
  • duration Указать, как долго элементы в этой конфигурации кеша остаются активными.
  • groups Список групп или «меток», связанных с каждым ключом, хранящимся в этой конфигурации. Полезно для удаления всей группы из кеша.
  • username Логин для доступа к серверу Memcache
  • password Пароль для доступа к серверу Memcache
  • persistent Имя постоянного соединения. Все конфигурации с одинаковым значением постоянного соединения будут использовать одно и то же базовое подключение.
  • prefix Префикс для всех записей. Полезно, когда необходимо использовать пространство имен ключей с другой конфигурацией кеша или другим приложением.
  • probability Вероятность запуска очистки кеша gc. Установка в 0 отключит автоматическое вызов cache::gc.
  • serialize Движок сериализации, используемый для сериализации данных. Доступные движки: php, igbinary и json. Помимо php, расширение memcached должно быть скомпилировано с соответствующей поддержкой сериализации.
  • servers Строка или массив серверов memcached. Если массив, MemcacheEngine будет использовать их как пул.
  • options Дополнительные параметры для клиента memcached. Должен быть массивом опция => значение. Используйте константы \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–2018 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.5/class-Cake.Cache.Engine.MemcachedEngine.html

Spec-Zone.ru

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