Caching CachedBauthmanager为用户的特定角色清除缓存

Caching CachedBauthmanager为用户的特定角色清除缓存,caching,yii,yii-extensions,Caching,Yii,Yii Extensions,使用Yii的Auth管理器,我使用了CachedDbAuthManager。一旦针对用户执行特定角色的SQL,它就会缓存结果。下次从缓存中获取记录时。现在,一旦管理员删除了特定用户的角色,它仍然保留在缓存中 这个问题的解决方案是什么?看看Yii的 例如,当管理员编辑身份验证表时,可以使缓存无效,另请参见。通常,只需在时间查找最新的(如modified_),即可完成此操作,但此列不是标准认证表的一部分 从数据库缓存手册页: CDbCacheDependency表示基于SQL语句查询结果的依赖项 还

使用Yii的Auth管理器,我使用了CachedDbAuthManager。一旦针对用户执行特定角色的SQL,它就会缓存结果。下次从缓存中获取记录时。现在,一旦管理员删除了特定用户的角色,它仍然保留在缓存中

这个问题的解决方案是什么?

看看Yii的

例如,当管理员编辑身份验证表时,可以使缓存无效,另请参见。通常,只需在时间查找最新的(如
modified_),即可完成此操作,但此列不是标准认证表的一部分

从数据库缓存手册页:

CDbCacheDependency表示基于SQL语句查询结果的依赖项


还有一个扩展正在做几乎相同的事情。它一次读取整个身份验证树并缓存它


SingleDbAuthManagerCachedDbAuthManager的性能都很好。CachedBauthmanager花费的时间较少,但在我的情况下无法更新缓存。

是的,这就是扩展在后面所做的!