php – 如何在Symfony 2.4中缓存带有缓存ID和缓存生存期选项的doctrine“findOneBy()”查询?

前端之家收集整理的这篇文章主要介绍了php – 如何在Symfony 2.4中缓存带有缓存ID和缓存生存期选项的doctrine“findOneBy()”查询?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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();

但我无法找到与“findOneBy()”选项的chache查询结果类似的方法.

例:

$this->findOneBy(array('some_field'=>$some_value));

我正在寻找一些合适的解决方案,非常感谢任何帮助.

您需要将每个findBy *或findOneBy *函数重新定义到自定义存储库中:这是doctrine2默认行为不考虑这种情况的唯一方法.
不幸的是,由你决定.

Ocramius(Doctrine2 devel)也在这里说https://groups.google.com/d/msg/doctrine-user/RIeH8ZkKyEY/HnR7h2p0lCQJ

原文链接:https://www.f2er.com/php/136203.html

猜你在找的PHP相关文章