Spec-Zone.ru › Yii 2.0

Класс yii\caching\DbCache

Все классы | Свойства | Методы
Наследование yii\caching\DbCache » 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/DbCache.php

DbCache реализует компонент кеширования, хранящий кешированные данные в базе данных.

По умолчанию, DbCache хранит данные сеанса в таблице базы данных с именем 'cache'. Эта таблица должна быть предварительно создана. Имя таблицы можно изменить, установив $cacheTable.

Обратитесь к yii\caching\Cache для получения общей информации об операциях кеширования, поддерживаемых DbCache.

Следующий пример показывает, как можно настроить приложение для использования DbCache:

'cache' => [
    'class' => 'yii\caching\DbCache',
    // 'db' => 'mydb',
    // 'cacheTable' => 'my_cache',
]

Для получения более подробной информации и инструкций по использованию Cache, см. статью руководства по кэшированию.

Общедоступные свойства

Свойство Тип Описание Определено в
$behaviors yii\base\Behavior[] Список поведений, прикрепленных к данному компоненту yii\base\Component
$cacheTable string Имя таблицы БД для хранения кешированных данных. yii\caching\DbCache
$db yii\db\Connection|array|string Объект подключения к БД или идентификатор компонента приложения для подключения к БД. yii\caching\DbCache
$defaultDuration integer Продолжительность по умолчанию в секундах, прежде чем запись кеша истечёт. yii\caching\Cache
$gcProbability integer Вероятность (из миллиона) выполнения сбора мусора (GC), когда фрагмент данных помещается в кеш. yii\caching\DbCache
$keyPrefix string Строка, добавляемая в качестве префикса к каждому ключу кеша, чтобы обеспечить его уникальность во всем хранилище кеша. yii\caching\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\caching\DbCache
flush() Удаляет все значения из кэша. yii\caching\Cache
gc() Удаляет истекшие данные. yii\caching\DbCache
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() Инициализирует компонент DbCache. yii\caching\DbCache
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\DbCache
addValues() Добавляет несколько пар ключ-значение в кэш. yii\caching\Cache
deleteValue() Удаляет значение с заданным ключом из кэша. Это реализация метода, объявленного в родительском классе. yii\caching\DbCache
flushValues() Удаляет все значения из кэша. yii\caching\DbCache
getValue() Извлекает значение из кэша по заданному ключу. yii\caching\DbCache
getValues() Извлекает несколько значений из кэша по заданным ключам. yii\caching\DbCache
setValue() Сохраняет значение, идентифицированное ключом, в кэше. yii\caching\DbCache
setValues() Сохраняет несколько пар ключ-значение в кэше. yii\caching\Cache

Подробное описание свойств

$cacheTable общедоступное свойство

Имя таблицы БД для хранения содержимого кэша. Таблица должна быть предварительно создана следующим образом:

CREATE TABLE cache (
    id char(128) NOT NULL PRIMARY KEY,
    expire int(11),
    data BLOB
);

где 'BLOB' относится к типу BLOB в вашей СУБД. Ниже приведены типы BLOB, которые могут быть использованы для некоторых популярных СУБД:

  • MySQL: LONGBLOB
  • PostgreSQL: BYTEA
  • MSSQL: BLOB

При использовании DbCache на сервере производства, рекомендуется создать индекс БД для столбца 'expire' в таблице кэша для повышения производительности.

public string $cacheTable = '{{%cache}}'

$db общедоступное свойство

Объект подключения к БД или идентификатор компонента приложения подключения к БД. После создания объекта DbCache, если вы хотите изменить это свойство, вы должны назначить только объект подключения к БД. Начиная с версии 2.0.2, это также может быть массив конфигурации для создания объекта.

public yii\db\Connection|array|string $db = 'db'

$gcProbability общественное свойство

Вероятность (частей на миллион), что сборка мусора (GC) должна быть выполнена при сохранении части данных в кэше. По умолчанию 100, что означает 0,01% вероятность. Это число должно быть между 0 и 1000000. Значение 0 означает, что сборка мусора не будет выполнена вообще.

public integer $gcProbability = 100

Подробное описание методов

addValue() защищённый метод

Сохраняет значение, идентифицируемое ключом, в кэше, если кэш не содержит этот ключ.

Это реализация метода, объявленного в родительском классе.

защищённый boolean addValue ( $key, $value, $duration )
$key string

Ключ, идентифицирующий значение, которое должно быть помещено в кэш

$value string

Значение, которое должно быть помещено в кэш. Другие типы (если вы отключили $serializer) не могут быть сохранены.

$duration integer

Количество секунд, в течение которых значение кэша будет истекать. 0 означает, что срок действия никогда не истекает.

return boolean

True, если значение успешно сохранено в кэше, иначе false

deleteValue() защищённый метод

Удаляет значение с указанным ключом из кэша. Это реализация метода, объявленного в родительском классе.

защищённый boolean deleteValue ( $key )
$key string

Ключ значения, которое нужно удалить

return boolean

Если при удалении не произошло ошибок

exists() публичный метод

Проверяет, существует ли указанный ключ в кэше.

Это может быть быстрее, чем получение значения из кэша, если данные большие. Обратите внимание, что этот метод не проверяет, изменилась ли зависимость, связанная с кэшированными данными, если она есть. Таким образом, вызов get() может вернуть false, в то время как exists возвращает true.

публичный boolean exists ( $key )
$key mixed

Ключ, идентифицирующий кэшированное значение. Это может быть простая строка или сложная структура данных, состоящая из факторов, представляющих ключ.

return boolean

True, если значение существует в кэше, false, если значение отсутствует в кэше или истекло.

flushValues() защищённый метод

Удаляет все значения из кэша.

Это реализация метода, объявленного в родительском классе.

защищённый boolean flushValues ( )
return boolean

Успешно ли выполнена операция сброса.

gc() публичный метод

Удаляет просроченные значения данных.

публичный void gc ( $force = false )
$force boolean

Нужно ли принудительно выполнить сборку мусора независимо от $gcProbability. По умолчанию false, что означает, что фактическое удаление происходит с вероятностью, указанной $gcProbability.

getValue() защищённый метод

Извлекает значение из кэша по указанному ключу.

Это реализация метода, объявленного в родительском классе.

защищённый string|false getValue ( $key )
$key string

Уникальный ключ, идентифицирующий кэшированное значение

return string|false

Значение, сохранённое в кэше, false, если значение отсутствует в кэше или истекло.

getValues() защищённый метод

Извлекает несколько значений из кэша по указанным ключам.

защищённый array getValues ( $keys )
$keys array

Список ключей, идентифицирующих кэшированные значения

return array

Список кэшированных значений, индексированных по ключам

init() публичный метод

Инициализирует компонент DbCache.

Этот метод инициализирует свойство $db, чтобы убедиться, что оно ссылается на корректное подключение к БД.

публичный void init ( )
throws yii\base\InvalidConfigException

если $db некорректен.

setValue() защищённый метод

Сохраняет значение, идентифицируемое ключом, в кэше.

Это реализация метода, объявленного в родительском классе.

защищённый boolean setValue ( $key, $value, $duration )
$key string

Ключ, идентифицирующий значение, которое должно быть помещено в кэш

$value string

Значение, которое должно быть помещено в кэш. Другие типы (если вы отключили $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-dbcache.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API