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