我正在使用最新的Yii2查询缓存机制(2016年3月)在具有Redis的模型中,表格如下:
作为结果,设置了一个带有GUID ID(例如“bb83d06878206d758eda3e29082dda4f”)的条目,其中保存了查询结果。
是否有一种方法可以使记录(基于ID)或整个模型表在每次调用模型的保存方法时失效?
例如,如果保存了用户记录,我们希望将该用户的记录(或“用户”表)标记为脏数据,因此下次获取该用户时,缓存将不再有效,并且记录将从数据库中检索。
如果可能的话,我想避免DbDependency(例如对记录上的“last_updated”字段),因为这是另一个数据库查询,如果我没弄错的话。
$object = $db->cache(function ($db) use($id) {
return self::findOne($id);
});
作为结果,设置了一个带有GUID ID(例如“bb83d06878206d758eda3e29082dda4f”)的条目,其中保存了查询结果。
是否有一种方法可以使记录(基于ID)或整个模型表在每次调用模型的保存方法时失效?
例如,如果保存了用户记录,我们希望将该用户的记录(或“用户”表)标记为脏数据,因此下次获取该用户时,缓存将不再有效,并且记录将从数据库中检索。
如果可能的话,我想避免DbDependency(例如对记录上的“last_updated”字段),因为这是另一个数据库查询,如果我没弄错的话。