Я использую последний (март 2016 г.) механизм кэширования запросов Yii2 в моделях с Redis в форме:
$object = $db->cache(function ($db) use($id) {
return self::findOne($id);
});
В результате устанавливается запись с идентификатором GUID (например, "bb83d06878206d758eda3e29082dda4f"), содержащая результат запроса.
Есть ли способ аннулировать только эту запись (на основе идентификатора) или всю таблицу модели каждый раз, когда вызывается метод сохранения модели?
Например. если запись пользователя сохранена, мы хотим испортить запись этого пользователя (или «пользовательскую» таблицу), поэтому в следующий раз, когда мы получим этого пользователя, кеш больше недействителен, и запись извлекается из БД.
Если возможно, я хотел бы избежать DbDependency (например, в поле «last_updated» в записи), поскольку это еще один запрос к БД, если я не ошибаюсь.