Кеширование в yii2

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
x516dF
Сообщения: 17
Зарегистрирован: 2017.07.11, 10:01

Кеширование в yii2

Сообщение x516dF »

С недавнего времени в yii2 появился метод ->cache() для ActiveRecord. Использую его внутри модели примерно вот так:

Код: Выделить всё

$first = self::find()->where(['type_id' => $type])->cache(18000)->one();
После чего, как я понял, результат запроса кешируется на 5 часов. И он действительно кешируется. Проблема возникает когда в базе меняется какое либо значение, а данные всё ещё берутся из кеша. И даже при очистке кеша в браузере - данные приходят старые. Как это победить? Есть ли какой-то метод "обнуления" этого кеша?
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Кеширование в yii2

Сообщение SiZE »

x516dF писал(а): 2018.04.20, 08:41 С недавнего времени в yii2 появился метод ->cache() для ActiveRecord. Использую его внутри модели примерно вот так:

Код: Выделить всё

$first = self::find()->where(['type_id' => $type])->cache(18000)->one();
После чего, как я понял, результат запроса кешируется на 5 часов. И он действительно кешируется. Проблема возникает когда в базе меняется какое либо значение, а данные всё ещё берутся из кеша. И даже при очистке кеша в браузере - данные приходят старые. Как это победить? Есть ли какой-то метод "обнуления" этого кеша?
Метод cache принимает два аргумента, второй отвечает за проверку валидности кеша.
Ответить