Класс yii\redis\Cache
| Наследование | yii\redis\Cache » yii\caching\Cache » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\caching\CacheInterface |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-redis/blob/master/Cache.php |
Кеш Redis реализует компонент кеширования на основе хранилища ключей-значений redis.
Для корректной работы Redis Cache требуется версия redis 2.6.12 или выше.
Он должен быть сконфигурирован с redis yii\redis\Connection, который также сконфигурирован как компонент приложения. По умолчанию он будет использовать компонент приложения redis.
См. руководство yii\redis\Cache для общих операций кеширования, поддерживаемых redis Cache.
В отличие от yii\redis\Cache, redis Cache позволяет параметру expire в методах set(), add(), mset() и madd() быть числом с плавающей запятой, поэтому вы можете указать время в миллисекундах (например, 0.1 будет 100 миллисекундами).
Для использования redis Cache в качестве компонента кеширования приложения настройте приложение следующим образом:
[
'components' => [
'cache' => [
'class' => 'yii\redis\Cache',
'redis' => [
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
]
],
],
]
Или, если вы уже сконфигурировали redis yii\redis\Connection как компонент приложения, достаточно следующего:
[
'components' => [
'cache' => [
'class' => 'yii\redis\Cache',
// 'redis' => 'redis' // id of the connection application component
],
],
]
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений | yii\base\Component |
| $defaultDuration | integer | Длительность по умолчанию в секундах, по истечении которой запись кеша истекает. | yii\caching\Cache |
| $keyPrefix | string | Строка, добавляемая в качестве префикса к каждому ключу кеша, чтобы он был уникальным во всем хранилище кеша. | yii\caching\Cache |
| $redis | yii\redis\Connection|string|array | Объект Redis yii\redis\Connection или идентификатор компонента приложения Redis yii\redis\Connection. | yii\redis\Cache |
| $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\redis\Cache |
| 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() | Инициализирует компонент кэширования redis. | yii\redis\Cache |
| 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\redis\Cache |
| addValues() | Добавляет несколько пар ключ-значение в кэш. | yii\caching\Cache |
| deleteValue() | Удаляет значение с указанным ключом из кэша. Этот метод должен быть реализован дочерними классами для удаления данных из фактического хранилища кэша. | yii\redis\Cache |
| flushValues() | Удаляет все значения из кэша. | yii\redis\Cache |
| getValue() | Извлекает значение из кэша по указанному ключу. | yii\redis\Cache |
| getValues() | Извлекает несколько значений из кэша по указанным ключам. | yii\redis\Cache |
| setValue() | Сохраняет значение, идентифицированное ключом, в кэше. | yii\redis\Cache |
| setValues() | Сохраняет несколько пар ключ-значение в кэше. | yii\redis\Cache |
Подробное описание свойств
$redis общедоступное свойство
Объект yii\redis\Connection Redis или идентификатор компонента приложения для yii\redis\Connection Redis. Это также может быть массив, используемый для создания экземпляра yii\redis\Connection redis, если вы не хотите настраивать подключение redis как компонент приложения. После создания объекта Cache, если вы хотите изменить это свойство, вы должны назначить ему только объект yii\redis\Connection Redis.
public yii\redis\Connection|string|array $redis = 'redis'
Подробное описание методов
addValue() защищённый метод
Сохраняет значение, идентифицированное ключом, в кэше, если этот ключ в кэше отсутствует.
Этот метод должен быть реализован дочерними классами для хранения данных в конкретном хранилище кэша.
| защищённый boolean addValue ( $key, $value, $expire ) | ||
|---|---|---|
| $key | string |
Ключ, идентифицирующий значение для кэширования |
| $value | mixed |
Значение для кэширования. Чаще всего это строка. Если вы отключили $serializer, это может быть что-то другое. |
| $expire | ||
| 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 |
Успешно ли выполнена операция сброса. |
getValue() защищённый метод
Извлекает значение из кэша по указанному ключу.
Этот метод должен быть реализован дочерними классами для извлечения данных из конкретного хранилища кэша.
| защищённый mixed|false getValue ( $key ) | ||
|---|---|---|
| $key | string |
Уникальный ключ, идентифицирующий кэшированное значение |
| return | mixed|false |
Значение, хранящееся в кэше, false — если значение отсутствует в кэше или истекло. Чаще всего значение — строка. Если вы отключили $serializer, это может быть что-то другое. |
getValues() защищённый метод
Извлекает несколько значений из кэша по указанным ключам.
Базовая реализация многократно вызывает getValue() для извлечения кэшированных значений по одному. Если хранилище кэша поддерживает multiget, этот метод должен быть переопределён для использования этой функции.
| защищённый array getValues ( $keys ) | ||
|---|---|---|
| $keys | array |
Список ключей, идентифицирующих кэшированные значения |
| return | array |
Список кэшированных значений, индексированных по ключам |
init() общедоступный метод
Инициализирует компонент кэша redis.
Этот метод инициализирует свойство $redis, чтобы убедиться, что оно ссылается на действительное подключение redis.
| общедоступный void init ( ) | ||
|---|---|---|
| throws | yii\base\InvalidConfigException |
если $redis некорректен. |
setValue() защищённый метод
Сохраняет значение, идентифицированное ключом, в кэше.
Этот метод должен быть реализован дочерними классами для хранения данных в конкретном хранилище кэша.
| защищённый boolean setValue ( $key, $value, $expire ) | ||
|---|---|---|
| $key | string |
Ключ, идентифицирующий значение для кэширования |
| $value | mixed |
Значение для кэширования. Чаще всего это строка. Если вы отключили $serializer, это может быть что-то другое. |
| $expire | ||
| return | boolean |
True, если значение успешно сохранено в кэше, иначе false |
setValues() защищённый метод
Сохраняет несколько пар ключ-значение в кэше.
Базовая реализация многократно вызывает setValue() для сохранения значений по одному. Если хранилище кэша поддерживает multi-set, этот метод следует переопределить для использования этой возможности.
| защищённый array setValues ( $data, $expire ) | ||
|---|---|---|
| $data | array |
Массив, где ключ соответствует ключу кэша, а значение — хранимому значению |
| $expire | ||
| return | array |
Массив неудачных ключей |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-redis-cache.html