我正在使用Doctrine 2的结果缓存来查询用户(即消息应用程序)的新消息数量:
$query->useResultCache(true, 500, 'messaging.nb_new_messages.'.$userId);
我尝试通过以下方式(在我的实体存储库中)使缓存无效:
我试图通过以下方式使缓存失效(在我的实体存储库中):
public function clearNbNewMessagesOfUserCache($userId) {
$cacheDriver = $this->getEntityManager()->getConfiguration()->getResultCacheImpl();
$result = $cacheDriver->delete('skepin_messaging.nbNewMessages.'.$userId);
if (!$result) {
return false;
}
return $cacheDriver->flushAll();
}
为了避免在网站的每个页面上进行无用的查询。我的问题是:这是一个推荐的做法吗?我最终会遇到问题吗?