我在检索用户(消息应用程序)的新消息数量的查询中使用 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();
}
这样我就不需要在我网站的每个页面上进行无用的查询。
我的问题:这是推荐的做法吗?我最终会遇到问题吗?