Spec-Zone.ru › CakePHP 4.4

Класс RedisEngine

Двигатель хранения Redis для кэша.

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

Константы

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

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

  • $_Redis protected
    Redis

    Обёртка Redis.

  • $_config protected
    array<string, mixed>

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

  • $_configInitialized protected
    bool

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

  • $_defaultConfig protected
    array<string, mixed>

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

  • $_groupPrefix protected
    string

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

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

  • __destruct() public

    Отключается от сервера redis

  • _configDelete() protected

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

  • _configRead() protected

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

  • _configWrite() protected

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

  • _connect() protected

    Подключается к серверу Redis

  • _key() protected

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

  • add() public

    Записывает данные для ключа в кэш, если он ещё не существует. Если он уже существует, возвращает false.

  • clear() public

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

  • clearBlocking() public

    Удаляет все ключи из кэша с помощью блокирующей операции

  • clearGroup() public

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

  • configShallow() public

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

  • decrement() public

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

  • delete() public

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

  • deleteAsync() public

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

  • deleteMultiple() public

    Удаляет несколько элементов кэша в виде списка

  • duration() protected

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

  • ensureValidKey() protected

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

  • ensureValidType() protected

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

  • get() public

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

  • getConfig() public

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

  • getConfigOrFail() public

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

  • getMultiple() public

    Получает несколько элементов кэша по их уникальным ключам.

  • groups() public

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

  • has() public

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

  • increment() public

    Увеличивает значение целочисленного кэшированного ключа и обновляет время истечения срока действия.

  • init() public

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

  • serialize() protected

    Сериализует значение для сохранения в Redis.

  • set() public

    Записывает данные для ключа в кэш.

  • setConfig() public

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

  • setMultiple() public

    Сохраняет набор пар ключ => значение в кэше с необязательным TTL.

  • unserialize() protected

    Десериализует строковое значение, полученное из Redis.

  • warning() protected

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

END_OF_DOCUMENT_MARKER

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

__destruct() public

__destruct()

Отключается от сервера redis

_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(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

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

Параметры

array<string, mixed>|string $key

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

mixed $value

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

string|bool $merge optional

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

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

void

Исключения

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

_connect() protected

_connect(): bool

Подключается к серверу Redis

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

bool

_key() protected

_key(string $key): string

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

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

Параметры

string $key

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

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

string

Исключения

Cake\Cache\InvalidArgumentException
Если значение ключа недействительно.

add() public

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

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

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

Параметры

string $key

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

mixed $value

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

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

bool

Ссылки

https://github.com/phpredis/phpredis#set

clear() public

clear(): bool

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

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

bool

clearBlocking() public

clearBlocking(): bool

Удалить все ключи из кеша с помощью блокирующей операции

Быстрее, чем clear(), используя метод unlink.

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

bool

clearGroup() public

clearGroup(string $group): bool

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

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

Параметры

string $group

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

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

bool

configShallow() public

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

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

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

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

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

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

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

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

Параметры

array<string, mixed>|string $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

deleteAsync() public

deleteAsync(string $key): bool

Асинхронно удалить ключ из кеша

Просто удаляет ключ из кэша. Фактическое удаление произойдёт позже асинхронно.

Параметры

string $key

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

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

bool

deleteMultiple() public

deleteMultiple(iterable $keys): bool

Удаляет несколько элементов кэша в виде списка

Это попытка выполнить всё, что возможно. Если удаление элемента вызовет ошибку, оно будет проигнорировано, и все элементы будут обработаны.

Параметры

iterable $keys

Список строковых ключей для удаления.

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

bool

Исключения

Cake\Cache\InvalidArgumentException
Если $keys не массив и не Traversable, или если какой-либо из $keys не является допустимым значением.

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 необязательно

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

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

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

Возвращает

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

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

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

Параметры

string $key

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

Возвращает

mixed

Исключения

InvalidArgumentException

getMultiple() public

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

Получает несколько элементов кэша по их уникальным ключам.

Параметры

iterable $keys

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

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

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

Возвращает

iterable

Исключения

Cake\Cache\InvalidArgumentException
Если $keys не является массивом или Traversable, или если какой-либо из $keys не является допустимым значением.

groups() public

groups(): array<string>

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

Возвращает

array<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<string, mixed> $config = []): bool

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

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

Параметры

array<string, mixed> $config необязательно

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

Возвращает

bool

serialize() protected

serialize(mixed $value): string

Сериализация значения для сохранения в Redis.

Это необходимо вместо использования встроенной функции сериализации Redis, так как она создаёт проблемы с увеличением/уменьшением первоначально установленного целочисленного значения.

Параметры

mixed $value

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

Возвращает

string

Ссылки

https://github.com/phpredis/phpredis/issues/81

set() public

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

Запись данных для ключа в кэш.

Параметры

string $key

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

mixed $value

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

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

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

Возвращает

bool

setConfig() public

setConfig(array<string, mixed>|string $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']);

Параметры

array<string, mixed>|string $key

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

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

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

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

Рекурсивное объединение или перезапись существующей конфигурации, по умолчанию true.

Возвращает

$this

Исключения

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

setMultiple() public

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

Сохраняет набор пар ключ => значение в кэше с необязательным TTL.

Параметры

iterable $values

Список пар ключ => значение для операции множественного задания.

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

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

Возвращает

bool

Исключения

Cake\Cache\InvalidArgumentException
Если $values не является массивом или Traversable, или если какое-либо из $values не является допустимым значением.

unserialize() protected

unserialize(string $value): mixed

Десериализация строкового значения, полученного из Redis.

Параметры

string $value

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

Возвращает

mixed

warning() protected

warning(string $message): void

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

Параметры

string $message

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

Возвращает

void

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

$_Redis protected

Обёртка Redis.

Тип

Redis

$_config protected

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

Тип

array<string, mixed>

$_configInitialized protected

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

Тип

bool

$_defaultConfig protected

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

  • database номер базы данных для подключения.
  • duration Укажите, как долго элементы в этой конфигурации кэша сохраняются.
  • groups Список групп или «тегов», связанных с каждым ключом, хранящимся в этой конфигурации. Полезно для удаления целой группы из кеша.
  • password Пароль сервера Redis.
  • persistent Подключиться к серверу Redis с постоянным подключением
  • port Номер порта сервера Redis.
  • prefix Префикс, добавляемый ко всем записям. Полезно, когда вам нужно использовать пространство имён ключей совместно с другой конфигурацией кеша или другим приложением.
  • scanCount Количество ключей для запроса при каждом сканировании (по умолчанию: 10)
  • server URL или IP-адрес хоста сервера Redis.
  • timeout таймаут в секундах (вещественное число).
  • unix_socket Путь к файлу unix-соккета (по умолчанию: false)

Тип

array<string, mixed>

$_groupPrefix protected

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

Тип

string

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

Spec-Zone.ru

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