Yog*_*lvi 13 php caching symfony doctrine-orm
我正在使用doctrine 2.4开发symfony 2.5项目.
我想缓存查询结果的缓存ID和缓存时间,所以我可以删除缓存结果,只要管理员需要.
我能够使用"createQueryBuilder()"选项缓存查询结果.
例:
$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();
Run Code Online (Sandbox Code Playgroud)
但我无法找到与"findOneBy()"选项的chache查询结果类似的方法.
例:
$this->findOneBy(array('some_field'=>$some_value));
Run Code Online (Sandbox Code Playgroud)
我正在寻找一些合适的解决方案,非常感谢任何帮助.
您需要将每个findBy *或findOneBy *函数重新定义到自定义存储库中:这是唯一的方法,因为doctrine2的默认行为并未考虑这种情况。不幸的是,取决于您。
另外Ocramius(Doctrine2开发者)在这里也可以这样说https://groups.google.com/d/msg/doctrine-user/RIeH8ZkKyEY/HnR7h2p0lCQJ
| 归档时间: |
|
| 查看次数: |
7915 次 |
| 最近记录: |