Класс FileEngine
Двигатель файлового хранилища для кэша. Файловое хранилище — это самое медленное хранилище кэша для чтения и записи. Однако оно подходит для серверов, у которых нет других доступных движков хранилища, или для контента, для которого производительность не имеет критического значения.
Вы можете настроить кэш FileEngine, используя Cache::config()
- Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
-
Cake\Cache\Engine\FileEngine
Резюме свойств
-
$_FileprotectedЭкземпляр класса SplFileObjectSplFileObject -
$_defaultConfigprotectedЗначения конфигурации по умолчанию, если не переопределены конфигурацией во время выполненияarray -
$_initprotectedИстина, если 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 )
Используется для очистки директории от соответствующих файлов.
Параметры
- строка
$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 [] )
Инициализация движка файлового кэша
Вызывается автоматически передним фронтэнд-контроллером кэша.
Параметры
- массив
$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 - переданный ключ
Возвращаемое значение
смешанныйстрока $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, если данных нет, они истекли или произошла ошибка при их получении
writeMany()source public
writeMany( array $data )
Запись данных для многих ключей в кэш
Параметры
- массив
$data - Массив данных для хранения в кэше
Возвращаемое значение
массивзначений boolean для каждого предоставленного ключа: 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 - Ключ для чтения.
Возвращаемое значение
смешанный_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']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- boolean
$mergeнеобязательно true - Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращаемое значение
смешанныйЗначение конфигурации для чтения или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить недопустимый ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value null )
Слияние предоставленной конфигурации с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.
Установка определенного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
Возвращаемое значение
$this Сам объект.
Подробное описание свойств
$_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–2017 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.3/class-Cake.Cache.Engine.FileEngine.html