Класс CacheEngine
Двигатель кэширования для CakePHP
Константы
-
stringCHECK_KEY'key'
-
stringCHECK_VALUE'value'
Краткое описание свойств
- $_config защищенное
array<string, mixed>Конфигурация во время выполнения
- $_configInitialized защищенное
boolУказывает, была ли конфигурация свойств уже настроена по умолчанию
- $_defaultConfig защищенное
array<string, mixed>Конфигурация кеша по умолчанию переопределяется в большинстве адаптеров кеша. Это ключи, общие для всех адаптеров. Если переопределено, это свойство не используется.
- $_groupPrefix защищенное
stringСодержит скомпилированную строку со всеми префиксами групп, которые должны быть добавлены к каждому ключу в этом движке кэширования
Краткое описание методов
-
_configDelete() защищенное
Удаляет один ключ конфигурации.
-
_configRead() защищенное
Читает ключ конфигурации.
-
_configWrite() защищенное
Записывает ключ конфигурации.
-
_key() защищенное
Генерирует ключ для использования кэшем backend.
-
add() публичное
Добавляет ключ в кэш, если он еще не существует.
-
clear() абстрактный публичное
Удаляет все ключи из кэша
-
clearGroup() абстрактный публичное
Очищает все значения, принадлежащие группе. Реализующему движку предоставляется свобода выбора: удалить ключи или только смоделировать удаление для достижения аналогичного результата.
-
configShallow() публичное
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
decrement() абстрактный публичное
Уменьшает число по ключу и возвращает уменьшенное значение
-
delete() абстрактный публичное
Удаляет ключ из кэша
-
deleteMultiple() публичное
Удаляет несколько элементов кэша как список
-
duration() защищенное
Преобразует различные выражения значения TTL в продолжительность в секундах
-
ensureValidKey() защищенное
Обеспечивает валидность заданного ключа кэша.
-
ensureValidType() защищенное
Обеспечивает валидность типа аргумента и ключей кэша.
-
get() абстрактный публичное
Извлекает значение для заданного ключа из кэша.
-
getConfig() публичное
Возвращает конфигурацию.
-
getConfigOrFail() публичное
Возвращает конфигурацию для этого конкретного ключа.
-
getMultiple() публичное
Получает несколько элементов кэша по их уникальным ключам.
-
groups() публичное
Выполняет необходимые операции инициализации для каждой группы и возвращает
group valueдля каждой из них; это маркер, представляющий каждую группу в ключе кэша. -
has() публичное
Определяет, присутствует ли элемент в кэше.
-
increment() абстрактный публичное
Увеличивает число по ключу и возвращает увеличенное значение
-
init() публичное
Инициализирует движок кэширования
-
set() абстрактный публичное
Сохраняет данные в кэше, однозначно ссылающиеся на указанный ключ с необязательным временем жизни истечения срока действия.
-
setConfig() публичное
Устанавливает конфигурацию.
-
setMultiple() публичное
Сохраняет набор пар ключ => значение в кэше с необязательным TTL.
-
warning() защищенное
Двигатели кэширования могут вызывать предупреждения, если при работе возникают ошибки, если параметр 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(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если происходит попытка перезаписи существующей конфигурации
_key() protected
_key(string $key): string
Генерирует ключ для использования кэша бэкенда.
Если запрашиваемый ключ действителен, к нему применяются префикс группы и префикс движка. Пробелы в ключах будут заменены.
Параметры
-
string$key переданный ключ
Возвращает
stringИсключение
Cake\Cache\InvalidArgumentExceptionЕсли значение ключа недействительно.
add() public
add(string $key, mixed $value): bool
Добавляет ключ в кэш, если он еще не существует.
По умолчанию используется неатомарная реализация. Подклассы должны предпочитать атомарные реализации.
Параметры
-
string$key Идентификатор данных.
-
mixed$value Данные для кеширования.
Возвращает
boolclear() abstract public
clear(): bool
Удаляет все ключи из кэша
Возвращает
boolclearGroup() abstract public
clearGroup(string $group): bool
Очищает все значения, относящиеся к группе. Реализующему движку решается, действительно ли удалять ключи или просто имитировать это, чтобы достичь того же результата.
Каждая реализация должна решить, действительно ли удалять ключи или просто увеличить значение генерации группы, чтобы достичь того же результата.
Параметры
-
string$group имя группы для очистки
Возвращает
boolconfigShallow() 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 Значение для установки.
Возвращает
$thisdecrement() abstract public
decrement(string $key, int $offset = 1): int|false
Уменьшает число по ключу и возвращает уменьшенное значение
Параметры
-
string$key Идентификатор данных
-
int$offset optional На сколько уменьшить
Возвращает
int|falsedelete() abstract public
delete(string $key): bool
Удаляет ключ из кэша
Параметры
-
string$key Идентификатор данных
Возвращает
booldeleteMultiple() 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, будет использоваться значение по умолчанию драйвера.
Возвращает
intensureValidKey() 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\InvalidArgumentExceptionget() abstract public
get(string $key, mixed $default = null): mixed
Извлекает значение для заданного ключа из кэша.
Параметры
-
string$key Уникальный ключ этого элемента в кэше.
-
mixed$default optional Значение по умолчанию, которое будет возвращено, если ключ не существует.
Возвращает
mixedИсключение
Cake\Cache\InvalidArgumentExceptionЕсли строка $key не является допустимым значением.
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 Возвращаемое значение, когда ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для этого определенного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключение
InvalidArgumentExceptiongetMultiple() public
getMultiple(iterable $keys, mixed $default = null): iterable
Получает несколько элементов кэша по их уникальным ключам.
Параметры
-
iterable$keys Список ключей, которые можно получить в одной операции.
-
mixed$default optional Значение по умолчанию, которое возвращается для ключей, которых нет.
Возвращает
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() abstract public
increment(string $key, int $offset = 1): int|false
Увеличить число по ключу и вернуть увеличенное значение.
Параметры
-
string$key Идентификатор данных.
-
int$offset optional На сколько увеличить.
Возвращает
int|falseinit() public
init(array<string, mixed> $config = []): bool
Инициализировать движок кэша.
Вызывается автоматически передним фронтендом кэша. Объединяет конфигурацию выполнения с настройками по умолчанию перед использованием.
Параметры
-
array<string, mixed>$config optional Ассоциативный массив параметров для движка.
Возвращает
boolset() abstract public
set(string $key, mixed $value, null|intDateInterval $ttl = null): bool
Сохраняет данные в кэше, уникально ссылающиеся на заданный ключ с необязательным временем жизни (TTL).
Параметры
-
string$key Ключ хранимого элемента.
-
mixed$value Значение хранимого элемента, должно быть сериализуемым.
-
null|intDateInterval$ttl optional Необязательно. Значение TTL для этого элемента. Если значение не передано и драйвер поддерживает TTL, библиотека может установить значение по умолчанию или позволить драйверу позаботиться об этом.
Возвращает
boolИсключения
Cake\Cache\InvalidArgumentExceptionsetConfig() 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 optional Значение для установки.
-
bool$merge optional Производить рекурсивное объединение или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
setMultiple() public
setMultiple(iterable $values, null|intDateInterval $ttl = null): bool
Сохраняет набор пар ключ => значение в кэше с необязательным TTL.
Параметры
-
iterable$values Список пар ключ => значение для операции множественного сохранения.
-
null|intDateInterval$ttl optional Необязательно. Значение TTL для этого элемента. Если значение не передано и драйвер поддерживает TTL, библиотека может установить значение по умолчанию или позволить драйверу позаботиться об этом.
Возвращает
boolИсключения
Cake\Cache\InvalidArgumentExceptionЕсли $values не является массивом или Traversable, или если какое-либо из $values не является допустимым значением.
warning() protected
warning(string $message): void
Движки кэша могут вызывать предупреждения, если они обнаруживают ошибки во время работы, если параметр warnOnWriteFailures установлен в true.
Параметры
-
string$message Сообщение о предупреждении.
Возвращает
voidПодробное описание свойств
$_config protected
Конфигурация выполнения
Тип
array<string, mixed>$_configInitialized protected
Булево значение, указывающее, была ли конфигурация уже настроена со значениями по умолчанию.
Тип
bool$_defaultConfig protected
Настройка кэша по умолчанию переопределяется в большинстве адаптеров кэша. Это ключи, общие для всех адаптеров. Если переопределены, это свойство не используется.
-
durationУказывает, как долго элементы в этой конфигурации кэша сохраняются. -
groupsСписок групп или «меток», связанных с каждым ключом, хранящимся в этой конфигурации. Полезно для удаления целой группы из кэша. -
prefixПрефикс, добавляемый ко всем записям. Полезно, когда нужно использовать пространство ключей совместно с другой конфигурацией кэша или другим приложением. -
warnOnWriteFailuresНекоторые движки, такие как ApcuEngine, могут генерировать предупреждения при ошибках записи.
Тип
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.CacheEngine.html