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

nic*_*net 7 doctrine redis symfony

我正在尝试使用Redis缓存查询结果和APC for metacache.根据Symfony文档,我需要做的就是.

doctrine:
    orm:
        auto_mapping: true
        metadata_cache_driver: apc
        result_cache_driver:
            type: redis
            host: localhost
            instance_class: Redis
Run Code Online (Sandbox Code Playgroud)

这是为doctrine配置缓存属性的正确方法吗?此外,当我谷歌"使用redis与symfony"我得到的结果,告诉我使用SNCRedis捆绑.

是否有必要使用SNCRedis包在Symfony中使用Redis作为学说?它在Symfony默认值之上提供了什么好处.我在这里有点困惑,因为在Symfony中与Doctrine相关的缓存文档很少.有人可以在这件事上给我任何见解.

Jak*_*las 12

您为结果缓存添加的配置仅配置要使用的策略.您仍然需要明确告诉doctrine缓存特定查询的结果:

$query->useResultCache(true);
Run Code Online (Sandbox Code Playgroud)

在Doctrine的缓存文档中了解有关它的更多信息.

Symfony中的文档很少,因为这不是Symfony特有的东西.请改为阅读学说文档.仅使用Symfony文档来学习如何配置Doctrine.

您不需要任何Redis捆绑包,因为Redis缓存策略是通过带有doctrine/cache包的doctrine实现的.您不必担心如何使用它.只需按照文档中的说明配置缓存即可.