Класс 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Инициализация 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 - переданный ключ
Возвращает
смешанноестрока $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 - переданный ключ
Возвращаемое значение
mixedstring $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
$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() вместо этого.Параметры
- string|array|null
$keyнеобязательно null - Ключ для получения/установки или весь массив настроек.
- mixed|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']);
Параметры
- string|array
$key - Ключ для установки или весь массив конфигурации.
- mixed|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'); Параметры
- string|null
$keyнеобязательно null - Ключ для получения или null для всей конфигурации.
- mixed
$defaultнеобязательно 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Вероятность запуска очистки кэша gc. Установка в 0 отключит автоматический вызов cache::gc. -
serializeНужно ли сериализовать объекты кэша перед сохранением.
[
'duration' => 3600,
'groups' => [],
'isWindows' => false,
'lock' => true,
'mask' => 0664,
'path' => null,
'prefix' => 'cake_',
'probability' => 100,
'serialize' => true
]
© 2005–2018 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.5/class-Cake.Cache.Engine.FileEngine.html