在花了几天时间弄清楚为什么我的二级缓存配置为学说不起作用之后,我希望有人能够支持.目前没有二级缓存调用导致命中.
我的项目目前使用以下软件包进行设置(+其他一些可能与此设置无关的软件包):
"symfony/symfony": "2.6.*",
"doctrine/orm": "2.*",
"doctrine/dbal": "2.*",
"doctrine/doctrine-bundle": "~1.2"
...
"snc/redis-bundle": "1.*"
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
元数据和查询缓存似乎正常工作,因为在Redis中创建了密钥,而SNC Redis Bundle也正确记录了我的缓存命中.但是"2l Cache"只记录未命中和放置,而不是命中:
在我的调试过程中,我发现在Doctrine/ORM/Query的缓存请求中尝试访问ArrayCache而不是配置的缓存驱动程序.
如果某人有二级缓存的工作示例配置,它可能已经有所帮助,因为它既不适用于我的Redis,也不适用于APCu或memcached.
我希望有人有想法或者可以分享他的工作配置.
在此先感谢您的问候