Spec-Zone.ru › CakePHP 3.2

Класс 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.
  • $_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( )

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

Возвращает

массив

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

Cake\Cache\CacheEngine::groups()

increment()source public

increment( string $key , integer $offset 1 )

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

Параметры

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

Возвращает

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

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

Массив, содержащий, для каждого из заданных $keys, кешированные данные или 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/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

Методы, используемые из 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 Имя постоянного подключения. Все конфигурации с одинаковым значением постоянного подключения будут использовать одно и то же базовое подключение.
  • prefix Добавляется перед всеми записями. Полезно, когда нужно использовать пространство имен с другой конфигурацией кэша или другим приложением.
  • probability Вероятность запуска очистки кэша. Установка в 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–2016 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.
http://api.cakephp.org/3.2/class-Cake.Cache.Engine.MemcachedEngine.html

Spec-Zone.ru

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