在Symfony 2应用程序中使用Redis缓存Doctrine结果

7
我尝试使用Redis缓存查询结果和APC进行元缓存。按照Symfony文档的说明,我需要执行以下步骤:
doctrine:
    orm:
        auto_mapping: true
        metadata_cache_driver: apc
        result_cache_driver:
            type: redis
            host: localhost
            instance_class: Redis

这是配置Doctrine缓存属性的正确方式吗?当我谷歌“在Symfony中使用Redis”时,搜索结果告诉我要使用SNCRedis Bundle。在Symfony中使用Redis是否必须使用SNCRedis Bundle?此外,它提供了哪些优势超出了Symfony默认设置。我有点困惑,因为Symfony文档在与Doctrine相关的缓存方面很少。请问有人可以给我任何关于这个问题的见解吗?
1个回答

12
您添加的结果缓存配置仅配置了使用的策略,您仍需要明确告诉Doctrine为特定查询缓存结果:
$query->useResultCache(true);

请查看Doctrine的缓存文档了解详情。

Symfony的文档相对较少,因为这并不是Symfony特有的东西。请阅读Doctrine文档。只需使用Symfony文档来学习如何配置Doctrine。

您无需使用任何Redis bundles,因为Redis缓存策略已由doctrine通过doctrine/cache包实现。您无需担心如何使用它。只需按照文档中描述的方式配置缓存即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接