Spec-Zone.ru › CakePHP 4.2

Класс MemcachedEngine

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

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

Пространство имен: Cake\Cache\Engine

Константы

  • string
    CHECK_KEY
    'key'
  • string
    CHECK_VALUE
    'value'

Резюме свойств

  • $_Memcached protected
    Memcached

    Обертка memcached.

  • $_compiledGroupNames protected
    string[]
  • $_config protected
    array

    Конфигурация во время выполнения

  • $_configInitialized protected
    bool

    Указывает, была ли конфигурация уже настроена по умолчанию

  • $_defaultConfig protected
    array

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

  • $_groupPrefix protected
    string

    Содержит скомпилированную строку со всеми префиксами групп, которые должны быть добавлены перед каждым ключом в этом кэше

  • $_serializers protected
    array

    Список доступных механизмов сериализации

Резюме методов

  • _configDelete() protected

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

  • _configRead() protected

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

  • _configWrite() protected

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

  • _key() protected

    Генерирует ключ для использования кэша.

  • _setOptions() protected

    Настройка экземпляра memcached

  • add() public

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

  • clear() public

    Удаляет все ключи из кэша

  • clearGroup() public

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

  • configShallow() public

    Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которое выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

  • decrement() public

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

  • delete() public

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

  • deleteMultiple() public

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

  • duration() protected

    Преобразует различные выражения значения TTL в продолжительность в секундах

  • ensureValidKey() protected

    Обеспечивает корректность данного ключа кэша.

  • ensureValidType() protected

    Обеспечивает корректность типа аргумента и ключей кэша.

  • get() public

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

  • getConfig() public

    Возвращает конфигурацию.

  • getConfigOrFail() public

    Возвращает конфигурацию для конкретного ключа.

  • getMultiple() public

    Считывает сразу несколько ключей из кэша

  • getOption() public

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

  • groups() public

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

  • has() public

    Определяет, присутствует ли элемент в кэше.

  • increment() public

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

  • init() public

    Инициализировать механизм кэширования

  • parseServerString() public

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

  • set() public

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

  • setConfig() public

    Устанавливает конфигурацию.

  • setMultiple() public

    Записывает сразу несколько записей в кэш

  • warning() protected

    Механизмы кэша могут вызывать предупреждения, если во время работы они сталкиваются с ошибками, если параметр warnOnWriteFailures установлен в true.

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

_configDelete() protected

_configDelete(string $key): void

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

Параметры

string $key

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

Возвращает

void

Исключение

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

_configRead() protected

_configRead(string|null $key): mixed

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

Параметры

string|null $key

Ключ для считывания.

Возвращает

mixed

_configWrite() protected

_configWrite(string|array $key, mixed $value, bool|string $merge = false): void

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

Параметры

string|array $key

Ключ для записи.

mixed $value

Значение для записи.

bool|string $merge optional

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

Возвращает

void

Исключение

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

_key() protected

_key(string $key): string

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

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

Параметры

string $key

передаваемый ключ

Возвращает

string

Исключение

Cake\Cache\InvalidArgumentException
Если значение ключа некорректно.

_setOptions() protected

_setOptions(): void

Настройка экземпляра memcached

Возвращает

void

Исключение

InvalidArgumentException
Когда расширение Memcached не построено с желаемым движком сериализации.

add() public

add(string $key, mixed $value): bool

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

По умолчанию используется неатомарная реализация. Подклассы должны отдавать предпочтение атомарным реализациям.

Параметры

string $key

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

mixed $value

Данные для кеширования.

Возвращает

bool

clear() public

clear(): bool

Удаляет все ключи из кэша

Возвращает

bool

clearGroup() public

clearGroup(string $group): bool

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

Каждая реализация должна решить, действительно ли удалять ключи или просто увеличить значение генерации группы, чтобы получить тот же результат.

Параметры

string $group

имя группы для очистки

Возвращает

bool

configShallow() public

configShallow(string|array $key, mixed|null $value = null): $this

Сливает предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

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

$this->configShallow('key', $value);

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

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

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

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

Параметры

string|array $key

Ключ для установки или полный массив конфигураций.

mixed|null $value optional

Значение для установки.

Возвращает

$this

decrement() public

decrement(string $key, int $offset = 1): int|false

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

Параметры

string $key

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

int $offset optional

На сколько уменьшить

Возвращает

int|false

delete() public

delete(string $key): bool

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

Параметры

string $key

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

Возвращает

bool

deleteMultiple() public

deleteMultiple(iterable $keys): bool

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

Параметры

iterable $keys

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

Возвращает

bool

duration() protected

duration(DateInterval|int|null $ttl): int

Преобразует различные выражения значения TTL в продолжительность в секундах

Параметры

DateInterval|int|null $ttl

Значение TTL этого элемента. Если отправлено null, используется значение по умолчанию драйвера.

Возвращает

int

ensureValidKey() protected

ensureValidKey(string $key): void

Проверяет корректность заданного ключа кэша.

Параметры

string $key

Ключ для проверки.

Возвращает

void

Исключение

Cake\Cache\InvalidArgumentException
При некорректном ключе.

ensureValidType() protected

ensureValidType(iterable $iterable, string $check = self::CHECK_VALUE): void

Проверяет корректность типа аргумента и ключей кэша.

Параметры

iterable $iterable

Перебираемый объект для проверки.

string $check optional

Проверять ключи или значения.

Возвращает

void

Исключение

Cake\Cache\InvalidArgumentException

get() public

get(string $key, mixed $default = null): mixed

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

Параметры

string $key

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

mixed $default optional

Значение по умолчанию, возвращаемое, если ключ не существует.

Возвращает

mixed

getConfig() public

getConfig(string|null $key = null, mixed $default = null): mixed

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key optional

Ключ для получения или null для всей конфигурации.

mixed $default optional

Значение по умолчанию, если ключ не существует.

Возвращает

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Возвращает конфигурацию для данного ключа.

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Параметры

string $key

Ключ для получения.

Возвращает

mixed

Исключение

InvalidArgumentException
END_OF_DOCUMENT_MARKER

getMultiple() public

getMultiple(iterable $keys, mixed $default = null): array

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

Параметры

iterable $keys

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

mixed $default необязательно

Значение по умолчанию для ключей, которых нет.

Возвращает

array

getOption() public

getOption(int $name): string|int|bool|null

Прочитать значение опции из подключения к memcached.

Параметры

int $name

Имя опции для чтения.

Возвращает

string|int|bool|null

См. также

https://secure.php.net/manual/ru/memcached.getoption.php

groups() public

groups(): string[]

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

Возвращает

string[]

has() public

has(string $key): bool

Определяет, присутствует ли элемент в кэше.

ПРИМЕЧАНИЕ: рекомендуется использовать has() только для целей разогрева кэша, а не для операций get/set в ваших активных приложениях, так как этот метод подвержен гонке, при которой has() может вернуть true, а вскоре после этого другой скрипт может удалить его, делая состояние вашего приложения устаревшим.

Параметры

string $key

Ключ элемента кэша.

Возвращает

bool

Исключение

Cake\Cache\InvalidArgumentException
Если строка $key не является допустимым значением.

increment() public

increment(string $key, int $offset = 1): int|false

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

Параметры

string $key

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

int $offset необязательно

На сколько увеличить

Возвращает

int|false

init() public

init(array $config = []): bool

Инициализировать движок кэша

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

Параметры

array $config необязательно

массив настроек для движка

Возвращает

bool

Исключение

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

parseServerString() public

parseServerString(string $server): array

Парсит строку адреса сервера в хост/порт. Обрабатывает как IPv6, так и IPv4 адреса и сокеты Unix

Параметры

string $server

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

Возвращает

array

set() public

set(string $key, mixed $value, null|intDateInterval $ttl = null): bool

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

Параметры

string $key

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

mixed $value

Данные для кэширования

null|intDateInterval $ttl необязательно

Необязательно. Значение TTL этого элемента. Если значение не передано, а драйвер поддерживает TTL, библиотека может установить значение по умолчанию или разрешить драйверу позаботиться об этом.

Возвращает

bool

См. также

https://www.php.net/manual/ru/memcached.set.php

setConfig() public

setConfig(string|array $key, mixed|null $value = null, bool $merge = true): $this

Устанавливает конфигурацию.

Использование

Установление определенного значения:

$this->setConfig('key', $value);

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

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

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

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

Параметры

string|array $key

Ключ для установки или полный массив конфигураций.

mixed|null $value необязательно

Значение для установки.

bool $merge необязательно

Выполнить рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.

Возвращает

$this

Исключение

Cake\Core\Exception\CakeException
При попытке установить недопустимый ключ.

setMultiple() public

setMultiple(iterable $values, null|intDateInterval $ttl = null): bool

Записать сразу несколько записей в кэш

Параметры

iterable $values

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

null|intDateInterval $ttl необязательно

Необязательно. Значение TTL этого элемента. Если значение не передано, а драйвер поддерживает TTL, библиотека может установить значение по умолчанию или разрешить драйверу позаботиться об этом.

Возвращает

bool

warning() protected

warning(string $message): void

Движки кэша могут вызывать предупреждения, если они сталкиваются с ошибками во время работы, если опция warnOnWriteFailures установлена в true.

Параметры

string $message

Сообщение предупреждения.

Возвращает

void

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

$_Memcached protected

Обёртка для memcached.

Тип

Memcached

$_compiledGroupNames protected

Тип

string[]

$_config protected

Конфигурация во время выполнения.

Тип

array

$_configInitialized protected

Указывает, была ли конфигурация уже настроена по умолчанию.

Тип

bool

$_defaultConfig protected

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

  • compress Сжимать ли данные
  • duration Указывает, как долго элементы в этой конфигурации кеша хранятся.
  • groups Список групп или «тегов», связанных с каждым ключом, хранящимся в этой конфигурации. Удобно для удаления целой группы из кеша.
  • username Логин для доступа к серверу Memcache.
  • password Пароль для доступа к серверу Memcache.
  • persistent Имя постоянного соединения. Все конфигурации, использующие одно и то же значение постоянства, будут использовать одно и то же подлежащее соединение.
  • prefix Добавленный префикс ко всем записям. Полезно, когда вам нужно использовать пространство ключей совместно с другой конфигурацией кеша или другим приложением.
  • serialize Двигатель сериализации, используемый для сериализации данных. Доступные движки: «php», «igbinary» и «json». Помимо «php», расширение memcached должно быть скомпилировано с соответствующей поддержкой сериализации.
  • servers Строка или массив серверов memcached. Если массив, MemcacheEngine будет использовать их как пул.
  • options Дополнительные параметры для клиента memcached. Должен быть массивом параметр => значение. Используйте константы \Memcached::OPT_*.

Тип

array

$_groupPrefix protected

Содержит скомпилированную строку со всеми префиксами групп, которые будут добавляться к каждому ключу в этом движке кеша.

Тип

string

$_serializers protected

Список доступных движков сериализации.

Memcached должен быть скомпилирован с поддержкой JSON и igbinary, чтобы использовать эти движки.

Тип

array

© 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/4.2/class-Cake.Cache.Engine.MemcachedEngine.html

Spec-Zone.ru

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