加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在Symfony 2.4中缓存带有缓存ID和缓存生存期选项的do

发布时间:2020-12-13 13:04:25 所属栏目:PHP教程 来源:网络整理
导读:我正在使用doctrine 2.4开发symfony 2.5项目. 我想缓存查询结果的缓存ID和缓存时间,所以我可以删除缓存结果,只要管理员需要. 我能够使用“createQueryBuilder()”选项缓存查询结果. 例: $this-createQueryBuilder('some_table') -select('some_table') -whe
我正在使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读