Класс 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Инициализирует File Cache Engine
- key() publicГенерирует безопасный ключ для использования с хранилищами движков кэша.
- read() publicСчитывает ключ из кэша
- write() publicЗаписывает данные для ключа в кэш
Подробное описание методов
_active()source protected
_active( )
Определяет, является ли директория кэша доступной для записи
Возвращает
boolean_clearDirectory()source protected
_clearDirectory( string $path , integer $now , integer $threshold )
Используется для очистки директории от соответствующих файлов.
Параметры
- строка
$path - Путь для поиска.
- целое число
$now - Текущая метка времени
- целое число
$threshold - Любой файл, не измененный после этого значения, будет удален.
_setKey()source protected
_setKey( string $key , boolean $createKey = false )
Устанавливает текущий ключ кэша, который обрабатывает данный класс, и создает доступный для записи SplFileObject для файла кэша, на который ссылается ключ.
Параметры
- строка
$key - Ключ
- логическое значение
$createKeyнеобязательно false - Необходимо ли создать ключ, если он не существует
Возвращает
booleantrue, если ключ кэша был установлен, иначе false
clear()source public
clear( boolean $check )
Удаляет все значения из кэша
Параметры
- логическое значение
$check - Необязательно - удаляются только истекшие элементы кэша
Возвращает
booleanTrue, если кэш был успешно очищен, иначе false
clearGroup()source public
clearGroup( string $group )
Рекурсивно удаляет все файлы в любой директории, названной как $group
Параметры
- строка
$group - Группа для очистки.
Возвращает
booleanуспех
Переопределяет
Cake\Cache\CacheEngine::clearGroup() decrement()source public
decrement( string $key , integer $offset = 1 )
Не реализовано
Параметры
- строка
$key - Ключ для декремента
- целое число
$offsetнеобязательно 1 - Значение смещения
Выбрасывает
LogicExceptiondelete()source public
delete( string $key )
Удаляет ключ из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
booleanTrue, если значение было успешно удалено, иначе false, если его не существовало или не удалось удалить
gc()source public
gc( integer|null $expires = null )
Сбор мусора. Постоянно удаляет все истекшие и удалённые данные
Параметры
- целое число|null
$expiresнеобязательно null - [необязательно] Метка времени истечения, делающая все данные до неё недействительными.
Возвращает
booleanTrue, если сбор мусора был успешным, иначе false
Переопределяет
Cake\Cache\CacheEngine::gc() increment()source public
increment( string $key , integer $offset = 1 )
Не реализовано
Параметры
- строка
$key - Ключ для инкремента
- целое число
$offsetнеобязательно 1 - Значение смещения
Выбрасывает
LogicExceptioninit()source public
init( array $config = [] )
Инициализирует File Cache Engine
Вызывается автоматически фронтендом кэша.
Параметры
- массив
$configнеобязательно [] - Массив настроек для движка
Возвращает
booleanTrue, если движок был успешно инициализирован, иначе false
Переопределяет
Cake\Cache\CacheEngine::init() key()source public
key( string $key )
Генерирует безопасный ключ для использования с хранилищами движков кэша.
Параметры
- строка
$key - переданный ключ
Возвращает
mixedстрока $key или false
Переопределяет
Cake\Cache\CacheEngine::key() read()source public
read( string $key )
Чтение ключа из кэша
Параметры
- строка
$key - Идентификатор данных
Возвращает
mixedКэшированные данные или false, если данные не существуют, истекли или произошла ошибка при их получении
write()source public
write( string $key , mixed $data )
Запись данных по ключу в кэш
Параметры
- строка
$key - Идентификатор данных
- смешанный
$data - Данные для кэширования
Возвращает
booleanTrue, если данные успешно кэшированы, false при ошибке
Методы, унаследованные от Cake\Cache\CacheEngine
_key()source protected
_key( string $key )
Генерирует безопасный ключ, учитывая заданный префикс ключа
Параметры
- строка
$key - переданный ключ
Возвращает
mixedстрока $key или false
Вызывает
InvalidArgumentExceptionЕсли значение ключа пустое
add()source public
add( string $key , mixed $value )
Добавляет ключ в кэш, если он ещё не существует.
По умолчанию использует неатомную реализацию. Подклассы должны отдавать предпочтение атомным реализациям.
Параметры
- строка
$key - Идентификатор данных.
- смешанный
$value - Данные для кэширования.
Возвращает
booleanTrue, если данные успешно кэшированы, false при ошибке.
deleteMany()source public
deleteMany( array $keys )
Удаляет ключи из кэша
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
массивДля каждого предоставленного ключа кэша (как ключ массива) true, если значение было успешно удалено, false, если его не существовало или не удалось удалить
groups()source public
groups( )
Выполняет необходимые действия инициализации для каждой группы и возвращает group value для каждой из них. Это маркер, представляющий каждую группу в ключе кэша
Возвращает
массивreadMany()source public
readMany( array $keys )
Чтение нескольких ключей из кэша
Параметры
- массив
$keys - Массив идентификаторов данных
Возвращает
массивДля каждого ключа кэша (указанного в качестве ключа массива) соответствующие данные кэша или false, если данные не существуют, истекли или произошла ошибка при их получении
warning()source protected
warning( string $message )
Двигатели кэша могут вызывать предупреждения, если во время работы возникают ошибки, если опция warnOnWriteFailures установлена в значение true.
Параметры
- строка
$message - Сообщение предупреждения.
writeMany()source public
writeMany( array $data )
Запись данных для нескольких ключей в кэш
Параметры
- массив
$data - Массив данных для хранения в кэше
Возвращает
массивМассив булевых значений для каждого предоставленного ключа, true, если данные были успешно кэшированы, false при ошибке
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет один ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Вызывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Читает ключ конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный
$value - Значение для записи.
- boolean|строка
$mergeнеобязательно false True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Вызывает
Cake\Core\Exception\Exceptionесли пытаетесь перезаписать существующую конфигурацию
config()source public устаревший
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() вместо этого.Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно 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']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно 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'); Параметры
- строка|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- смешанный
$defaultнеобязательно null - Значение по умолчанию, если ключ не найден.
Возвращает
mixedДанные конфигурации по указанному ключу или null, если ключ не найден.
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']);
Параметры
- string|array
$key - Ключ для установки или массив конфигурации.
- mixed|null
$valueнеобязательный null - Значение для установки.
- boolean
$mergeнеобязательный true - Флаг рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию true.
Возвращает
$this
Вызывает исключение
Cake\Core\Exception\ExceptionПри попытке установить недействительный ключ.
Подробное описание свойств
$_defaultConfigsource
protected array
Конфигурация по умолчанию, используемая, если не переопределена во время выполнения
-
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.8/class-Cake.Cache.Engine.FileEngine.html