Класс 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 - Требуется ли создание ключа, если он не существует
Возвращает
booleanистина, если ключ кэша был установлен, иначе ложь
clear()source public
clear( boolean $check )
Удаление всех значений из кэша
Параметры
- логическое значение
$check - Необязательно — удалять только истекшие элементы кэша
Возвращает
booleanИстина, если кэш успешно очищен, ложь в противном случае
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 - Идентификатор данных
Возвращает
booleanИстина, если значение было успешно удалено, ложь, если оно не существовало или не могло быть удалено
gc()source public
gc( integer|null $expires null )
Сбор мусора. Постоянное удаление всех истекших и удалённых данных
Параметры
- целое число/null
$expiresнеобязательно null - [необязательно] Метка времени истечения срока действия, делающая все данные, созданные ранее, недействительными.
Возвращает
booleanИстина, если сбор мусора выполнен успешно, ложь в случае ошибки
Переопределяет
Cake\Cache\CacheEngine::gc() increment()source public
increment( string $key , integer $offset 1 )
Не реализовано
Параметры
- строка
$key - Ключ для увеличения
- целое число
$offsetнеобязательно 1 - Значение смещения
Выбрасывает
LogicExceptioninit()source public
init( array $config [] )
Инициализация файлового движка кэша
Вызывается автоматически движком кэша.
Параметры
- массив
$configнеобязательно [] - Массив настроек для движка
Возвращает
booleanИстина, если движок был успешно инициализирован, ложь в противном случае
Переопределяет
Cake\Cache\CacheEngine::init() key()source public
key( string $key )
Генерирует безопасный ключ для использования с движками хранения кэша.
Параметры
- строка
$key - переданный ключ
Возвращает
смешанноестрока $key или ложь
Переопределяет
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массив значений 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
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']);
Параметры
- 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->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки, или полный массив конфигураций.
- mixed|null
$valueoptional null - Значение для установки.
Возвращаемое значение
$this Объект самого себя.
Подробное описание свойств
$_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–2016 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.
http://api.cakephp.org/3.2/class-Cake.Cache.Engine.FileEngine.html