Spec-Zone.ru › CakePHP 3.3

Класс MemcachedEngine

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

Основное преимущество этого движка Memcached перед движком 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.
  • $_defaultConfig protected
    array
    Значения конфигурации по умолчанию, если не переопределены конфигурацией во время выполнения
  • $_serializers protected
    array
    Список доступных движков сериализации

Унаследованные свойства

  • _groupPrefix _config, _configInitialized

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

  • _parseServerString() protected

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

  • _setOptions() protected
    Настройка экземпляра memcached
  • add() public
    Добавить ключ в кэш, если он ещё не существует.
  • clear() public
    Удалить все ключи из кэша
  • clearGroup() public

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

  • decrement() public
    Уменьшает значение целочисленного кэшированного ключа
  • delete() public
    Удалить ключ из кэша
  • deleteMany() public
    Удалить сразу несколько ключей из кэша
  • groups() public

    Возвращает значения group value для каждой из настроенных групп. Если начальное значение группы не найдено, то оно инициализируется соответствующим образом.

  • increment() public
    Увеличивает значение целочисленного кэшированного ключа
  • init() public
    Инициализировать движок кэширования
  • read() public
    Прочитать ключ из кэша
  • readMany() public
    Прочитать сразу несколько ключей из кэша
  • write() public

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

  • writeMany() public
    Записать сразу несколько записей в кэш

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

_parseServerString()source protected

_parseServerString( string $server )

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

Параметры

строка $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
Массив идентификаторов данных

Возвращает

массив

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


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

Cake\Cache\CacheEngine::deleteMany()

groups()source public

groups( )

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

Возвращает

массив

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

Cake\Cache\CacheEngine::groups()

increment()source public

increment( string $key , integer $offset 1 )

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

Параметры

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

Возвращает

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

init()source public

init( array $config [] )

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

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

Параметры

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

Возвращает

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

Исключения

InvalidArgumentException

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


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

Cake\Cache\CacheEngine::init()

read()source public

read( string $key )

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

Параметры

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

Возвращает

mixed

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


readMany()source public

readMany( array $keys )

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

Параметры

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

Возвращает

array

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


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

Cake\Cache\CacheEngine::readMany()

write()source public

write( string $key , mixed $value )

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

Параметры

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

Возвращает

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

См.

http://php.net/manual/ru/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
строка $ключ или false

Исключения

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

gc()source public

gc( integer|null $expires null )

Сбор мусора

Постоянно удаляет все истекшие и удаленные данные

Параметры

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

key()source public

key( string $key )

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

Параметры

строка $key
переданный ключ

Возвращает

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

Методы, используемые из 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

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']);

Параметры

строка|массив|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->config('key', $value);

Установка вложенного значения:

$this->config('some.nested.key', $value);

Обновление нескольких параметров конфигурации одновременно:

$this->config(['one' => 'value', 'another' => 'value']);

Параметры

строка|массив $key
Ключ для установки или весь массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.

Возвращает


$this Объект сам по себе.

Подробности свойств

$_Memcachedsource

protected Memcached

Обертка memcached.

null
END_OF_DOCUMENT_MARKER

$_defaultConfigsource

protected array

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

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

Spec-Zone.ru

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