Класс yii\caching\ArrayCache
| Наследование | yii\caching\ArrayCache » 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/ArrayCache.php |
ArrayCache предоставляет кеширование только для текущего запроса, храня значения в массиве.
См. yii\caching\Cache для общих операций кеширования, которые поддерживает ArrayCache.
В отличие от yii\caching\Cache, ArrayCache позволяет параметру expire в методах set(), add(), multiSet() и multiAdd() быть числом с плавающей точкой, поэтому вы можете указать время в миллисекундах (например, 0.1 будет 100 миллисекундами).
Для повышения производительности ArrayCache, вы можете отключить сериализацию хранимых данных, установив $serializer в false.
Для получения более подробной информации и инструкций по использованию Cache, обратитесь к статье руководства по кешированию.
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений | yii\base\Component |
| $defaultDuration | целое число | Значение по умолчанию в секундах, после которого запись в кэше истекает. | yii\caching\Cache |
| $keyPrefix | строка | Строка, добавляемая в префикс к каждому ключу кеша, чтобы он был уникальным во всем хранилище кеша. | yii\caching\Cache |
| $serializer | null|массив|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\ArrayCache |
| flush() | Удаляет все значения из кэша. | yii\caching\Cache |
| 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\base\Object |
| 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\ArrayCache |
| addValues() | Добавляет несколько пар ключ-значение в кэш. | yii\caching\Cache |
| deleteValue() | Удаляет значение с указанным ключом из кэша. Этот метод должен быть реализован дочерними классами для удаления данных из фактического хранилища кэша. | yii\caching\ArrayCache |
| flushValues() | Удаляет все значения из кэша. | yii\caching\ArrayCache |
| getValue() | Извлекает значение из кэша по указанному ключу. | yii\caching\ArrayCache |
| getValues() | Извлекает несколько значений из кэша по указанным ключам. | yii\caching\Cache |
| setValue() | Хранит значение, идентифицируемое ключом, в кэше. | yii\caching\ArrayCache |
| setValues() | Хранит несколько пар ключ-значение в кэше. | yii\caching\Cache |
Подробное описание методов
addValue() защищённый метод
Хранит значение, идентифицируемое ключом, в кэше, если в кэше этого ключа нет.
Этот метод должен быть реализован дочерними классами для хранения данных в конкретном хранилище кэша.
| защищённый boolean addValue ( $key, $value, $duration ) | ||
|---|---|---|
| $key | string |
Ключ, идентифицирующий значение для кэширования |
| $value | mixed |
Значение для кэширования. Чаще всего это строка. Если вы отключили $serializer, это может быть что-то другое. |
| $duration | integer |
Количество секунд, в течение которых кэшированное значение будет действовать. 0 означает, что срок действия не ограничен. |
| return | boolean |
True, если значение успешно сохранено в кэше, иначе false |
deleteValue() защищённый метод
Удаляет значение с указанным ключом из кэша. Этот метод должен быть реализован дочерними классами для удаления данных из фактического хранилища кэша.
| защищённый boolean deleteValue ( $key ) | ||
|---|---|---|
| $key | string |
Ключ удаляемого значения |
| return | boolean |
true, если удаление прошло без ошибок |
exists() публичный метод
Проверяет, существует ли указанный ключ в кэше.
Это может быть быстрее, чем получение значения из кэша, если данные большие. В случае, если кэш не поддерживает эту функцию напрямую, этот метод попытается смоделировать её, но не имеет преимуществ по производительности по сравнению с получением значения. Обратите внимание, что этот метод не проверяет, изменилась ли зависимость, связанная с кэшированными данными (если таковая имеется). Таким образом, вызов get() может вернуть false, в то время как exists вернёт true.
| публичный boolean exists ( $key ) | ||
|---|---|---|
| $key | mixed |
Ключ, идентифицирующий кэшированное значение. Это может быть простая строка или сложная структура данных, состоящая из факторов, представляющих ключ. |
| return | boolean |
true, если значение существует в кэше, false, если значение отсутствует в кэше или истекло. |
flushValues() защищённый метод
Удаляет все значения из кэша.
Дочерние классы могут реализовать этот метод для выполнения операции очистки.
| защищённый boolean flushValues ( ) | ||
|---|---|---|
| return | boolean |
true, если операция очистки выполнена успешно. |
getValue() защищённый метод
Извлекает значение из кэша по указанному ключу.
Этот метод должен быть реализован дочерними классами для извлечения данных из конкретного хранилища кэша.
| защищённый mixed|false getValue ( $key ) | ||
|---|---|---|
| $key | string |
Уникальный ключ, идентифицирующий кэшированное значение |
| return | mixed|false |
Значение, хранящееся в кэше, false, если значение отсутствует в кэше или истекло. Чаще всего значение является строкой. Если вы отключили $serializer, это может быть что-то другое. |
setValue() защищённый метод
Хранит значение, идентифицируемое ключом, в кэше.
Этот метод должен быть реализован дочерними классами для хранения данных в конкретном хранилище кэша.
| защищённый boolean setValue ( $key, $value, $duration ) | ||
|---|---|---|
| $key | string |
Ключ, идентифицирующий значение для кэширования |
| $value | mixed |
Значение для кэширования. Чаще всего это строка. Если вы отключили $serializer, это может быть что-то другое. |
| $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-arraycache.html