【发布时间】:2015-11-24 05:18:42
【问题描述】:
在花了几天时间弄清楚为什么我的教义二级缓存配置不起作用之后,我希望有人能够支持。 目前没有二级缓存调用导致命中。
我的项目当前设置了以下包(+ 一些可能与此设置无关的其他包):
"symfony/symfony": "2.6.*",
"doctrine/orm": "2.*",
"doctrine/dbal": "2.*",
"doctrine/doctrine-bundle": "~1.2"
...
"snc/redis-bundle": "1.*"
Doctrine 缓存的设置方式如下:
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
metadata_cache_driver: redis
query_cache_driver: redis
result_cache_driver: redis
second_level_cache:
enabled: true
log_enabled: true
元数据和查询缓存似乎工作正常,因为在 Redis 中创建了键,并且 SNC Redis Bundle 也正确记录了我的缓存命中。但是“2l Cache”只记录未命中和放置,而不是命中:
在调试过程中,我发现在来自 Doctrine/ORM/Query 的缓存请求中尝试访问 ArrayCache 而不是配置的缓存驱动程序。
如果有人有二级缓存的工作示例配置可能已经有所帮助,因为它既不适用于我的 Redis,也不适用于 APCu 或 memcached。
我希望有人有想法或者可以分享他的工作配置。
提前致谢并致以最诚挚的问候
【问题讨论】:
-
似乎没有人知道如何将 SncRedisBundle 与学说的二级缓存一起使用,如果可能的话。
标签: symfony caching doctrine-orm redis second-level-cache