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

标签 symfony redis doctrine

我正在尝试使用 Redis 来缓存查询结果,并使用 APC 来缓存元缓存。根据 Symfony 文档,我需要做的就是。

doctrine:
    orm:
        auto_mapping: true
        metadata_cache_driver: apc
        result_cache_driver:
            type: redis
            host: localhost
            instance_class: Redis

这是为 doctrine 配置缓存属性的正确方法吗?此外,当我用谷歌搜索“将 redis 与 symfony 结合使用”时,我得到的结果告诉我使用 SNCRedis 包。

在Symfony 中使用Redis 是否必须使用SNCRedis bundle?还有它在 Symfony 默认值之上提供的好处。我在这里有点困惑,因为在 Symfony 中缓存与 Doctrine 相关的文档很少。 有人可以给我任何关于此事的见解吗。

最佳答案

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

$query->useResultCache(true);

在 Doctrine 的 Cache docs 中了解更多信息.

Symfony 中的文档很少,因为这并不是真正的 Symfony 特定的东西。改为阅读 Doctrine 文档。仅使用 Symfony 文档来学习如何配置 Doctrine。

您不需要任何 Redis 包,因为 Redis 缓存策略是通过 doctrine/cache Doctrine 实现的包裹。您不必担心如何使用它。只需按照文档中的描述配置缓存。

关于symfony - 在 Symfony 2 应用程序中使用 Redis 缓存 Doctrine 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31992981/

相关文章:

php - 与 Symfony 和 Doctrine 的 ON DELETE CASCADE 的多对多关系

Doctrine Query Builder - 如何选择多对多关系?

Symfony2 Composer 安装后 cmd

python - Redis 中哪种抓取方式效率更高?

javascript - 在 express 路由器中使用 redis 客户端

php - symfony2 : ContextErrorException on production server "Erroneous data format for unserializing"

php - Symfony、查询生成器、使用 pgsql 的扩展

php - Symfony2 datetime 存储时间戳的最佳方式?

php - 使用具有代码覆盖率和 Travis CI 的 PHPUnit 时测试失败

python - 在任务队列中实现消息优先级