Класс FileEngine
Двигатель хранения файлов для кэша. Хранилище файлов — самое медленное хранилище кэша для чтения и записи. Однако оно подходит для серверов, на которых нет другого хранилища, или для контента, для которого не критична производительность.
Вы можете настроить кэш FileEngine, используя Cache::config()
Константы
-
stringCHECK_KEY'key'
-
stringCHECK_VALUE'value'
Краткое описание свойств
- $_File protected
SplFileObject|nullЭкземпляр класса SplFileObject
- $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУказывает, была ли конфигурация уже настроена с параметрами по умолчанию
- $_defaultConfig protected
array<string, mixed>Конфигурация по умолчанию, используемая, если не переопределена конфигурацией выполнения
- $_groupPrefix protected
stringСодержит скомпилированную строку со всеми префиксами групп, которые должны быть добавлены к каждому ключу в этом движке кэша
- $_init protected
boolИстина, если FileEngine::__active(); не завершился ошибкой
Краткое описание методов
-
_active() protected
Определяет, является ли каталог кэша доступным для записи
-
_clearDirectory() protected
Используется для очистки каталога от совпадающих файлов.
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
_key() protected
Генерирует ключ для использования в кэше.
-
_setKey() protected
Устанавливает текущий ключ кэша, который управляет этим классом, и создаёт доступный для записи SplFileObject для файла кэша, на который ссылается ключ.
-
add() public
Добавляет ключ в кэш, если он ещё не существует.
-
clear() public
Удаляет все значения из кэша
-
clearGroup() public
Рекурсивно удаляет все файлы в каталоге с именем $group
-
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
Инициализировать движок кэша File Cache
-
set() public
Записать данные для ключа в кэш
-
setConfig() public
Устанавливает конфигурацию.
-
setMultiple() public
Сохраняет набор пар ключ => значение в кэше с необязательным значением TTL.
-
warning() protected
Двигатели кэша могут генерировать предупреждения, если они столкнутся с ошибками во время работы, если параметр warnOnWriteFailures установлен в значение true.
Подробное описание методов
_active() protected
_active(): bool
Определяет, является ли каталог кэша доступным для записи.
Возвращает
bool_clearDirectory() protected
_clearDirectory(string $path): void
Используется для очистки каталога от соответствующих файлов.
Параметры
-
string$path Путь для поиска.
Возвращает
void_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 необязательно true для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_key() protected
_key(string $key): string
Генерирует ключ для использования кешем.
Если запрошенный ключ действителен, применяется значение префикса группы и префикса движка. Пробелы в ключах будут заменены.
Параметры
-
string$key
Возвращает
string_setKey() protected
_setKey(string $key, bool $createKey = false): bool
Устанавливает текущий ключ кэша, управляемый этим классом, и создает доступный для записи SplFileObject для файла кэша, на который ссылается ключ.
Параметры
-
string$key Ключ
-
bool$createKey необязательно Создавать ключ, если он не существует, или нет
Возвращает
booladd() public
add(string $key, mixed $value): bool
Добавляет ключ в кэш, если он еще не существует.
По умолчанию используется неатомарная реализация. Подклассы должны отдавать предпочтение атомарным реализациям.
Параметры
-
string$key Идентификатор данных.
-
mixed$value Данные для кэширования.
Возвращает
boolclear() public
clear(): bool
Удалить все значения из кэша
Возвращает
boolclearGroup() public
clearGroup(string $group): bool
Рекурсивно удаляет все файлы в каталоге с именем $group
Каждая реализация должна решить, действительно ли удалять ключи или просто увеличить значение генерации группы, чтобы достичь того же результата.
Параметры
-
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 необязательно Значение для установки.
Возвращает
$thisdecrement() public
decrement(string $key, int $offset = 1): int|false
Не реализовано
Параметры
-
string$key Ключ для декремента
-
int$offset необязательно Число смещения
Возвращает
int|falseИсключения
LogicExceptiondelete() 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 необязательно Проверять ключи или значения.
Возвращает
voidИсключения
Cake\Cache\InvalidArgumentExceptionget() public
get(string $key, mixed $default = null): mixed
Чтение ключа из кэша
Параметры
-
string$key Идентификатор данных
-
mixed$default необязательно Значение по умолчанию, возвращаемое, если ключ не существует.
Возвращает
mixedgetConfig() 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 необязательно Возвращаемое значение, если ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для данного ключа.
Значение конфигурации для данного ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptiongetMultiple() 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() только для целей подготовки кэша, а не для использования в операциях получения/записи в ваших активных приложениях, так как этот метод подвержен гонке, где ваш 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Исключения
LogicExceptioninit() public
init(array<string, mixed> $config = []): bool
Инициализировать движок кэша файлов
Вызывается автоматически передним кэшем.
Параметры
-
array<string, mixed>$config необязательно Массив настроек для движка
Возвращает
boolset() public
set(string $key, mixed $value, null|intDateInterval $ttl = null): bool
Записать данные для ключа в кэш
Параметры
-
string$key Идентификатор данных
-
mixed$value Данные для кэширования
-
null|intDateInterval$ttl необязательно Необязательно. Значение TTL этого элемента. Если значение не передано и драйвер поддерживает TTL, библиотека может установить значение по умолчанию или позволить драйверу позаботиться об этом.
Возвращает
boolsetConfig() 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 не является допустимым значением.
warning() protected
warning(string $message): void
Движки кэша могут генерировать предупреждения, если они сталкиваются с ошибками во время работы, если опция warnOnWriteFailures установлена в значение true.
Параметры
-
string$message Сообщение предупреждения.
Возвращает
voidПодробное описание свойств
$_File protected
Экземпляр класса SplFileObject
Тип
SplFileObject|null$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Установлена ли конфигурация с параметрами по умолчанию
Тип
bool$_defaultConfig protected
Конфигурация по умолчанию, используемая, если не переопределена конфигурацией во время выполнения
-
durationУказывает, как долго элементы в этой конфигурации кэша сохраняются. -
groupsСписок групп или 'меток', связанных с каждым ключом, хранящимся в этой конфигурации. Удобно для удаления всей группы из кэша. -
lockИспользуется FileCache. Должны ли файлы блокироваться перед записью в них? -
maskМаска, используемая для создания файлов -
pathПуть, куда должны сохраняться файлы кэша. По умолчанию - временная папка системы. -
prefixПредполагается перед всеми записями. Полезно, когда вам нужно использовать пространство ключей совместно с другой конфигурацией кэша или другим приложением. cache::gc никогда автоматически не вызывается. -
serializeОбъекты кэша должны сначала сериализоваться.
Тип
array<string, mixed>$_groupPrefix protected
Содержит скомпилированную строку со всеми префиксами групп, которые должны быть добавлены перед каждым ключом в этом движке кэша
Тип
string$_init protected
True, если FileEngine::__active(); не завершился ошибкой
Тип
bool
© 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.FileEngine.html