Spec-Zone.ru › CakePHP 4.3

Класс FileEngine

Двигатель хранения файлов для кэша. Хранилище файлов — самое медленное хранилище кэша для чтения и записи. Однако оно подходит для серверов, на которых нет другого хранилища, или для контента, для которого не критична производительность.

Вы можете настроить кэш FileEngine, используя Cache::config()

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

Константы

  • string
    CHECK_KEY
    'key'
  • string
    CHECK_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 необязательно

Создавать ключ, если он не существует, или нет

Возвращает

bool

add() public

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

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

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

Параметры

string $key

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

mixed $value

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

Возвращает

bool

clear() public

clear(): bool

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

Возвращает

bool

clearGroup() public

clearGroup(string $group): bool

Рекурсивно удаляет все файлы в каталоге с именем $group

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

Параметры

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

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

Возвращает

$this

decrement() public

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

Не реализовано

Параметры

string $key

Ключ для декремента

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

Число смещения

Возвращает

int|false

Исключения

LogicException

delete() public

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

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

Возвращает

void

Исключения

Cake\Cache\InvalidArgumentException

get() public

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

Чтение ключа из кэша

Параметры

string $key

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

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

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

Возвращает

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() только для целей подготовки кэша, а не для использования в операциях получения/записи в ваших активных приложениях, так как этот метод подвержен гонке, где ваш 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

Исключения

LogicException

init() public

init(array<string, mixed> $config = []): bool

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

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

Параметры

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

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

Возвращает

bool

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 не является допустимым значением.

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.3/class-Cake.Cache.Engine.FileEngine.html

Spec-Zone.ru

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