Класс FileEngine
Двигатель файлового хранилища для кэша. Файловое хранилище — самое медленное хранилище кэша для чтения и записи. Однако оно хорошо подходит для серверов, у которых нет другого двигателя хранилища, или для контента, который не чувствителен к производительности.
Вы можете настроить кэш FileEngine, используя Cache::config()
- Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
-
Cake\Cache\Engine\FileEngine
Краткое описание свойств
-
$_FileprotectedЭкземпляр класса SplFileObjectSplFileObject|null -
$_defaultConfigprotectedЗначение по умолчанию, используемое, если не переопределено конфигурацией во время выполненияarray -
$_initprotectedTrue, если FileEngine::__active(); не завершилась ошибкойboolean
Унаследованные свойства
Краткое описание методов
- _active() protectedОпределяет, является ли директория кэша доступной для записи
- _clearDirectory() protectedИспользуется для очистки директории от соответствующих файлов.
- _setKey() protected
Устанавливает текущий ключ кэша, который управляет этим классом, и создаёт доступный для записи SplFileObject для файла кэша, на который ссылается ключ.
- clear() publicУдаляет все значения из кэша
- clearGroup() publicРекурсивно удаляет все файлы в любой директории, имя которой указано как $group
- decrement() publicНе реализовано
- delete() publicУдаляет ключ из кэша
- gc() publicСбор мусора. Постоянно удаляет все истекшие и удалённые данные
- increment() publicНе реализовано
- init() publicИнициализация двигателя файлового кэша
- key() publicГенерирует безопасный ключ для использования с кэшем движками хранения.
- read() publicСчитывает ключ из кэша
- write() publicЗаписывает данные для ключа в кэш
Подробное описание методов
_active()source protected
_active( )
Определяет, является ли директория кэша доступной для записи
Возвращает
boolean_clearDirectory()source protected
_clearDirectory( string $path , integer $now , integer $threshold )
Используется для очистки директории от соответствующих файлов.
Параметры
- string
$path - Путь для поиска.
- integer
$now - Текущая метка времени
- integer
$threshold - Любой файл, не изменённый после этого значения, будет удалён.
_setKey()source protected
_setKey( string $key , boolean $createKey = false )
Устанавливает текущий ключ кэша, который управляет этим классом, и создаёт доступный для записи SplFileObject для файла кэша, на который ссылается ключ.
Параметры
- string
$key - Ключ
- boolean
$createKeyoptional false - Указывает, нужно ли создавать ключ, если он не существует, или нет
Возвращает
booleantrue, если ключ кэша был установлен, иначе false
clear()source public
clear( boolean $check )
Удаляет все значения из кэша
Параметры
- boolean
$check - Необязательно — удалять только истекшие элементы кэша
Возвращает
booleanTrue, если кэш был успешно очищен, иначе false
clearGroup()source public
clearGroup( string $group )
Рекурсивно удаляет все файлы в любой директории, имя которой указано как $group
Параметры
- string
$group - Группа для очистки.
Возвращает
booleanуспех
Переопределяет
Cake\Cache\CacheEngine::clearGroup() decrement()source public
decrement( string $key , integer $offset = 1 )
Не реализовано
Параметры
- string
$key - Ключ для уменьшения
- integer
$offsetoptional 1 - Значение смещения
Выбрасывает
LogicExceptiondelete()source public
delete( string $key )
Удаляет ключ из кэша
Параметры
- string
$key - Идентификатор данных
Возвращает
booleanTrue, если значение было успешно удалено, false, если его не было или не удалили
gc()source public
gc( integer|null $expires = null )
Сбор мусора. Постоянно удаляет все истекшие и удалённые данные
Параметры
- integer|null
$expiresoptional null - [необязательно] Метка времени истечения, делающая недействительными все данные до неё.
Возвращает
booleanTrue, если сбор мусора прошёл успешно, false при ошибке
Переопределяет
Cake\Cache\CacheEngine::gc() increment()source public
increment( string $key , integer $offset = 1 )
Не реализовано
Параметры
- string
$key - Ключ для инкремента
- integer
$offsetoptional 1 - Значение смещения
Выбрасывает
LogicExceptioninit()source public
init( array $config = [] )
Инициализация двигателя файлового кэша
Вызывается автоматически с помощью фронта кэша.
Параметры
- array
$configoptional [] - массив настроек для двигателя
Возвращает
booleanTrue, если движок был успешно инициализирован, иначе false
Переопределяет
Cake\Cache\CacheEngine::init() key()source public
key( string $key )
Генерирует безопасный ключ для использования с кэшем движками хранения.
Параметры
- string
$key - переданный ключ
Возвращает
mixedстрока $key или false
Переопределяет
Cake\Cache\CacheEngine::key() read()source public
read( string $key )
Чтение ключа из кэша
Параметры
- string
$key - Идентификатор данных
Возвращает
mixedКешированные данные или false, если данных нет, срок действия истек или произошла ошибка при получении данных
write()source public
write( string $key , mixed $data )
Запись данных для ключа в кэш
Параметры
- string
$key - Идентификатор данных
- mixed
$data - Данные для кэширования
Возвращает
booleanTrue, если данные успешно кэшированы, false в случае неудачи
Методы, унаследованные от Cake\Cache\CacheEngine
_key()source protected
_key( string $key )
Генерирует безопасный ключ, учитывая конфигурированный префикс ключа
Параметры
- string
$key - переданный ключ
Возвращает
mixedстрока $key или false
Выбрасывает
InvalidArgumentExceptionЕсли значение ключа пустое
add()source public
add( string $key , mixed $value )
Добавляет ключ в кэш, если он еще не существует.
По умолчанию используется неатомарная реализация. Подклассы должны предпочитать атомарные реализации.
Параметры
- string
$key - Идентификатор данных.
- mixed
$value - Данные для кэширования.
Возвращает
booleanTrue, если данные были успешно кэшированы, false в случае неудачи.
deleteMany()source public
deleteMany( array $keys )
Удаляет ключи из кэша
Параметры
- array
$keys - Массив идентификаторов данных
Возвращает
arrayДля каждого предоставленного ключа кэша (возвращается в качестве ключа массива) true, если значение было успешно удалено, false, если оно не существовало или не могло быть удалено
groups()source public
groups( )
Выполняет необходимые действия инициализации для каждой группы и возвращает group value для каждой из них, это маркер, представляющий каждую группу в ключе кэша
Возвращает
arrayreadMany()source public
readMany( array $keys )
Чтение нескольких ключей из кэша
Параметры
- array
$keys - Массив идентификаторов данных
Возвращает
arrayДля каждого ключа кэша (указанного в качестве ключа массива) данные кэша или false, если данных нет, срок действия истек или произошла ошибка при получении данных
warning()source protected
warning( string $message )
Движки кэширования могут вызывать предупреждения, если они обнаруживают ошибки во время работы, если параметр warnOnWriteFailures установлен в true.
Параметры
- string
$message - Сообщение о предупреждении.
writeMany()source public
writeMany( array $data )
Запись данных для многих ключей в кэш
Параметры
- array
$data - Массив данных для хранения в кэше
Возвращает
arrayмассив значений boolean для каждого предоставленного ключа, true, если данные были успешно кэшированы, false в случае неудачи
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- string
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Считывает ключ конфигурации.
Параметры
- string|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$mergeoptional false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
config()source public deprecated
config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Получение/установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение определенного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устарело
3.4.0 используйте setConfig()/getConfig() вместо этого.Параметры
- string|array|null
$keyoptional null - Ключ для получения/установки или полный массив конфигураций.
- mixed|null
$valueoptional null - Значение для установки.
- boolean
$mergeoptional true - Флаг, указывающий на рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
mixedЗначение конфигурации, которое читается, или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Сливает предоставленную конфигурацию с существующей конфигурацией. В отличие от config() , которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|null
$valueoptional null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- string|null
$keyoptional null - Ключ для получения или null для всей конфигурации.
- mixed
$defaultoptional null - Возвращаемое значение, когда ключ не существует.
Возвращает
mixedЗначение конфигурации, которое читается.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив настроек.
- смешанное|null
$valueнеобязательно null - Значение для установки.
- булево
$mergeнеобязательно true - Требуется ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
$this
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недействительный ключ.
Подробное описание свойств
$_defaultConfigsource
protected массив
Конфигурация по умолчанию, используемая, если не переопределена во время выполнения
-
durationУкажите, как долго элементы в этой конфигурации кеша сохраняются. -
groupsСписок групп или 'меток', связанных с каждым ключом, хранящимся в этой конфигурации. Полезно для удаления всей группы из кеша. -
isWindowsАвтоматически заполняется, указывая, является ли хост Windows или нет. -
lockИспользуется FileCache. Нужно ли блокировать файлы перед записью в них? -
maskМаска, используемая для создаваемых файлов. -
pathПуть к месту сохранения файлов кеша. По умолчанию — временная директория системы. -
prefixДобавляется в начало всех записей. Полезно, когда нужно использовать один и тот же набор ключей с другой конфигурацией кеша или другим приложением. -
probabilityВероятность запуска очистки кеша gc. Установка в 0 отключит автоматический вызов cache::gc. -
serializeНужно ли сериализовать объекты кеша перед сохранением.
[
'duration' => 3600,
'groups' => [],
'isWindows' => false,
'lock' => true,
'mask' => 0664,
'path' => null,
'prefix' => 'cake_',
'probability' => 100,
'serialize' => true
]
© 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/3.6/class-Cake.Cache.Engine.FileEngine.html