我正在尝试使用 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/