我正在使用Doctrine 2.4和Symfony 2.5项目,希望通过缓存ID和缓存时间来缓存查询结果,以便在需要时可以通过管理员删除缓存结果。我已经成功使用"createQueryBuilder()"选项进行了查询结果缓存。以下是一个示例:
Example:
$this->createQueryBuilder('some_table')
->select('some_table')
->where('some_table.deleted_date IS NULL')
->getQuery()
->useResultCache(true)
->setResultCacheLifetime(120) //Query Cache lifetime
->setResultCacheId($queryCacheId) //Query Cache Id
->getResult();
但我无法找到与“findOneBy()”选项缓存查询结果的类似方式。
示例:
$this->findOneBy(array('some_field'=>$some_value));
我正在寻找一些适当的解决方案,任何帮助都非常感激。
当我需要缓存结果时,我是否需要在所有存储库中覆盖“find *”函数? - Yogesh Salvi