Класс yii\caching\FileCache
| Наследование | yii\caching\FileCache » yii\caching\Cache » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\caching\CacheInterface |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/caching/FileCache.php |
FileCache реализует компонент кэша, использующий файлы.
Для каждого значения данных, помещаемого в кэш, FileCache будет хранить его в отдельном файле. Файлы кэша размещаются в каталоге $cachePath. FileCache будет автоматически выполнять сборку мусора для удаления устаревших файлов кэша.
Обратитесь к yii\caching\Cache для получения общих операций с кэшем, поддерживаемых FileCache.
Для получения более подробной информации и информации об использовании Cache, см. статью справочника о кэшировании.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список прикрепленных к этому компоненту поведений | yii\base\Component |
| $cacheFileSuffix | string | Суффикс имени файла кэша. | yii\caching\FileCache |
| $cachePath | string | Директория для хранения файлов кэша. | yii\caching\FileCache |
| $defaultDuration | integer | Длительность по умолчанию в секундах, после которой запись кэша истекает. | yii\caching\Cache |
| $dirMode | integer | Разрешения для вновь созданных каталогов. | yii\caching\FileCache |
| $directoryLevel | integer | Уровень вложенности подкаталогов для хранения файлов кэша. | yii\caching\FileCache |
| $fileMode | integer | Разрешения для вновь созданных файлов кэша. | yii\caching\FileCache |
| $gcProbability | integer | Вероятность (миллионных долей) выполнения сбора мусора (GC) при помещении данных в кэш. | yii\caching\FileCache |
| $keyPrefix | string | Строка-префикс для каждого ключа кэша. | yii\caching\FileCache |
| $serializer | null|array|false | Функции, используемые для сериализации и десериализации данных кэша. | yii\caching\Cache |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с указанным именем, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| add() | Хранит значение, идентифицируемое ключом, в кэше, если в кэше нет этого ключа. | yii\caching\Cache |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, которые должен использовать этот компонент. | yii\base\Component |
| buildKey() | Строит нормализованный ключ кэша из заданного ключа. | yii\caching\Cache |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| delete() | Удаляет значение с указанным ключом из кэша. | yii\caching\Cache |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| exists() | Проверяет, существует ли указанный ключ в кэше. | yii\caching\FileCache |
| flush() | Удаляет все значения из кэша. | yii\caching\Cache |
| gc() | Удаляет истекшие файлы кэша. | yii\caching\FileCache |
| get() | Извлекает значение из кэша по указанному ключу. | yii\caching\Cache |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getOrSet() | Метод объединяет методы set() и get(), чтобы извлечь значение, идентифицируемое ключом $key, или сохранить результат выполнения $callable, если для $key нет кэша. | yii\caching\Cache |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует этот компонент, убеждаясь в существовании пути к кэшу. | yii\caching\FileCache |
| madd() | Хранит несколько элементов в кэше. Каждый элемент содержит значение, идентифицируемое ключом. | yii\caching\Cache |
| mget() | Извлекает несколько значений из кэша по указанным ключам. | yii\caching\Cache |
| mset() | Хранит несколько элементов в кэше. Каждый элемент содержит значение, идентифицируемое ключом. | yii\caching\Cache |
| multiAdd() | Хранит несколько элементов в кэше. Каждый элемент содержит значение, идентифицируемое ключом. | yii\caching\Cache |
| multiGet() | Извлекает несколько значений из кэша по указанным ключам. | yii\caching\Cache |
| multiSet() | Хранит несколько элементов в кэше. Каждый элемент содержит значение, идентифицируемое ключом. | yii\caching\Cache |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| offsetExists() | Возвращает, есть ли запись в кэше с указанным ключом. | yii\caching\Cache |
| offsetGet() | Извлекает значение из кэша по указанному ключу. | yii\caching\Cache |
| offsetSet() | Хранит значение, идентифицируемое ключом, в кэше. | yii\caching\Cache |
| offsetUnset() | Удаляет значение с указанным ключом из кэша. Этот метод требуется интерфейсом ArrayAccess. | yii\caching\Cache |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| set() | Хранит значение, идентифицируемое ключом, в кэше. | yii\caching\Cache |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| addValue() | Сохраняет значение, идентифицируемое ключом, в кэше, если этот ключ в кэше отсутствует. | yii\caching\FileCache |
| addValues() | Добавляет несколько пар ключ-значение в кэш. | yii\caching\Cache |
| deleteValue() | Удаляет значение с указанным ключом из кэша. Это реализация метода, объявленного в родительском классе. | yii\caching\FileCache |
| flushValues() | Удаляет все значения из кэша. | yii\caching\FileCache |
| gcRecursive() | Рекурсивное удаление устаревших файлов кэша в указанной директории. | yii\caching\FileCache |
| getCacheFile() | Возвращает путь к файлу кэша, соответствующий ключу кэша. | yii\caching\FileCache |
| getValue() | Извлекает значение из кэша по указанному ключу. | yii\caching\FileCache |
| getValues() | Извлекает несколько значений из кэша по указанным ключам. | yii\caching\Cache |
| setValue() | Сохраняет значение, идентифицируемое ключом, в кэше. | yii\caching\FileCache |
| setValues() | Сохраняет несколько пар ключ-значение в кэше. | yii\caching\Cache |
Подробное описание свойств
$cacheFileSuffix открытое свойство
Суффикс имени файла кэша. По умолчанию '.bin'.
public string $cacheFileSuffix = '.bin'
$cachePath открытое свойство
Директория для хранения файлов кэша. Здесь можно использовать псевдоним пути. Если не задано, будет использоваться поддиректория "cache" в пути к приложению.
public string $cachePath = '@runtime/cache'
$dirMode открытое свойство
Разрешения для вновь созданных директорий. Это значение будет использоваться функцией PHP chmod(). Не будет применяться umask. По умолчанию 0775, что означает: чтение и запись для владельца и группы, только чтение для других пользователей.
public integer $dirMode = 0775
$directoryLevel открытое свойство
Уровень вложенности поддиректорий для хранения файлов кэша. По умолчанию 1. Если система имеет большое количество файлов кэша (например, миллион), можно использовать большее значение (обычно не больше 3). Использование поддиректорий в основном для предотвращения перегрузки файловой системы одним каталогом с большим количеством файлов.
public integer $directoryLevel = 1
$fileMode открытое свойство
Разрешения для вновь созданных файлов кэша. Это значение будет использоваться функцией PHP chmod(). Не будет применяться umask. Если не указано, разрешения будут определяться текущей средой.
public integer $fileMode = null
$gcProbability открытое свойство
Вероятность (миллионных долей) выполнения сбора мусора (GC) при сохранении данных в кэше. По умолчанию 10, что означает 0,001% вероятности. Это число должно быть между 0 и 1000000. Значение 0 означает, что GC не будет выполняться.
public integer $gcProbability = 10
$keyPrefix открытое свойство
Строка-префикс для каждого ключа кэша. Это необходимо, когда вы храните данные кэша в одном и том же $cachePath для разных приложений, чтобы избежать конфликтов.
Для обеспечения межплатформенной совместимости следует использовать только буквенно-цифровые символы.
public string $keyPrefix = ''
Подробное описание методов
addValue() защищённый метод
Сохраняет значение, идентифицируемое ключом, в кэше, если кэш не содержит этот ключ.
Это реализация метода, объявленного в родительском классе.
| защищённый boolean addValue ( $key, $value, $duration ) | ||
|---|---|---|
| $key | string |
Ключ, идентифицирующий значение для кэширования |
| $value | string |
Значение для кэширования. Другие типы (если вы отключили $serializer) могут некорректно отображаться в getValue(). |
| $duration | integer |
Количество секунд, в течение которых кэшированное значение будет действовать. 0 означает, что срок действия не ограничен. |
| return | boolean |
True, если значение успешно сохранено в кэше, иначе false |
deleteValue() защищённый метод
Удаляет значение с указанным ключом из кэша. Это реализация метода, объявленного в родительском классе.
| защищённый boolean deleteValue ( $key ) | ||
|---|---|---|
| $key | string |
Ключ удаляемого значения |
| return | boolean |
True, если удаление прошло успешно, иначе false |
exists() публичный метод
Проверяет, существует ли указанный ключ в кэше.
Это может быть быстрее, чем получение значения из кэша, если данные объёмные. Обратите внимание, что этот метод не проверяет, изменилась ли зависимость, связанная с кэшированными данными (если таковая имеется). Поэтому вызов get() может вернуть false, в то время как exists вернёт true.
| публичный boolean exists ( $key ) | ||
|---|---|---|
| $key | mixed |
Ключ, идентифицирующий кэшированное значение. Это может быть простая строка или сложная структура данных, состоящая из факторов, представляющих ключ. |
| return | boolean |
True, если значение существует в кэше, false — если значение отсутствует в кэше или устарело. |
flushValues() защищённый метод
Удаляет все значения из кэша.
Это реализация метода, объявленного в родительском классе.
| защищённый boolean flushValues ( ) | ||
|---|---|---|
| return | boolean |
Успешность операции очистки. |
gc() публичный метод
Удаляет устаревшие файлы кэша.
| публичный void gc ( $force = false, $expiredOnly = true ) | ||
|---|---|---|
| $force | boolean |
Выполнять сборку мусора независимо от $gcProbability. По умолчанию false, то есть фактическое удаление происходит с вероятностью, указанной в $gcProbability. |
| $expiredOnly | boolean |
Удалять только устаревшие файлы кэша. Если false, все файлы кэша в каталоге $cachePath будут удалены. |
gcRecursive() защищённый метод
Рекурсивно удаляет устаревшие файлы кэша в каталоге.
Этот метод в основном используется методом gc().
| защищённый void gcRecursive ( $path, $expiredOnly ) | ||
|---|---|---|
| $path | string |
Каталог, в котором удаляются устаревшие файлы кэша. |
| $expiredOnly | boolean |
Удалять только устаревшие файлы кэша. Если false, все файлы в |
getCacheFile() защищённый метод
Возвращает путь к файлу кэша, заданный ключом кэша.
| защищённый string getCacheFile ( $key ) | ||
|---|---|---|
| $key | string |
Ключ кэша |
| return | string |
Путь к файлу кэша |
getValue() защищённый метод
Извлекает значение из кэша по указанному ключу.
Это реализация метода, объявленного в родительском классе.
| защищённый string|false getValue ( $key ) | ||
|---|---|---|
| $key | string |
Уникальный ключ, идентифицирующий кэшированное значение |
| return | string|false |
Значение, сохранённое в кэше, false, если значение не найдено в кэше или устарело. |
init() публичный метод
Инициализирует компонент, обеспечивая существование пути к кэшу.
| публичный void init ( ) |
|---|
setValue() защищённый метод
Сохраняет значение, идентифицируемое ключом, в кэше.
Это реализация метода, объявленного в родительском классе.
| защищённый boolean setValue ( $key, $value, $duration ) | ||
|---|---|---|
| $key | string |
Ключ, идентифицирующий значение для кэширования |
| $value | string |
Значение для кэширования. Другие типы (если вы отключили $serializer) могут некорректно отображаться в getValue(). |
| $duration | integer |
Количество секунд, в течение которых кэшированное значение будет действовать. 0 означает, что срок действия не ограничен. |
| return | boolean |
True, если значение успешно сохранено в кэше, иначе false |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-caching-filecache.html