Spec-Zone.ru › CakePHP 3.4

Класс 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 в качестве движка кэша, помните, что расширение pecl Memcached не поддерживает срок действия кэша более 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 )

Очистить все ключи из кэша

Параметры

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

Возвращаемое значение

boolean
True, если кэш был успешно очищен, иначе false

clearGroup()source public

clearGroup( string $group )

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

Параметры

string $group
название группы для очистки

Возвращаемое значение

boolean
успех

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

Cake\Cache\CacheEngine::clearGroup()

decrement()source public

decrement( string $key , integer $offset 1 )

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

Параметры

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

Возвращаемое значение

boolean|integer
Новое уменьшенное значение, иначе false

delete()source public

delete( string $key )

Удалить ключ из кэша

Параметры

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

Возвращаемое значение

boolean

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


deleteMany()source public

deleteMany( array $keys )

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

Параметры

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

Возвращаемое значение

array

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


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

Cake\Cache\CacheEngine::deleteMany()

getOption()source public

getOption( string $name )

Чтение значения параметра из соединения с memcached.

Параметры

string $name
Имя параметра для чтения.

Возвращаемое значение

string|integer|null|boolean

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

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


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

Cake\Cache\CacheEngine::init()
END_OF_DOCUMENT_MARKER

parseServerString()source public

parseServerString( string $server )

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

Параметры

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

Возвращает

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

read()source public

read( string $key )

Считывает значение ключа из кэша.

Параметры

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

Возвращает

смешанный тип

Данные из кэша или false, если данных нет, они истекли или произошла ошибка при чтении.


readMany()source public

readMany( array $keys )

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

Параметры

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

Возвращает

массив

Массив, содержащий данные из кэша для каждого ключа из $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/ru/memcache.set.php

writeMany()source public

writeMany( array $data )

Одновременная запись множества записей в кэш.

Параметры

массив $data
Массив данных для хранения в кэше.

Возвращает

массив

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


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

Cake\Cache\CacheEngine::writeMany()

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

_key()source protected

_key( string $key )

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

Параметры

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

Возвращает

смешанный тип
строка $key или false

Вызывает

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

gc()source public

gc( integer|null $expires null )

Сбор мусора

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

Параметры

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

key()source public

key( string $key )

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

Параметры

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

Возвращает

boolean|строка
строка ключа или 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
Ключ для записи.
mixed $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']);

Устарело

3.4.0 используйте setConfig()/getConfig() вместо этого.

Параметры

строка|массив|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']);

Параметры

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

Параметры

строка|null $key необязательно null
Ключ для получения или null для всей конфигурации.
mixed $default необязательно null
Возвращаемое значение, если ключ не существует.

Возвращает

mixed
Значение конфигурации для чтения.
END_OF_DOCUMENT_MARKER

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. Должен быть массивом вариант => значение. Используйте константы \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.4/class-Cake.Cache.Engine.MemcachedEngine.html

Spec-Zone.ru

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