Класс FileEngine
Двигатель хранилища файлов для кэша. Хранилище файлов — это самое медленное хранилище кэша для чтения и записи. Однако оно подходит для серверов, у которых нет другого хранилища, или для содержимого, которое не критично к производительности.
Вы можете настроить кэш FileEngine, используя Cache::config()
- Cake\Cache\CacheEngine использует Cake\Core\InstanceConfigTrait
-
Cake\Cache\Engine\FileEngine
Краткое описание свойств
-
$_FileprotectedЭкземпляр класса SplFileObjectSplFileObject|null -
$_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 )
Используется для очистки каталога от соответствующих файлов.
Параметры
- 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 - переданный ключ
Возвращает
mixedstring $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, если данных нет, срок действия истек или произошла ошибка при получении данных
writeMany()source public
writeMany( array $data )
Запись данных для нескольких ключей в кэш
Параметры
- array
$data - Массив данных для хранения в кэше
Возвращает
arrayмассив булевых значений для каждого предоставленного ключа, 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
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']);
Параметры
- 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Вероятность запуска очистки кэша. Установка значения 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.4/class-Cake.Cache.Engine.FileEngine.html