Caching PHPCR节点和元缓存覆盖
我正在使用Symfony CMF、PHPCR和SncRedisBundle。我想将PHPCR的元数据和节点缓存添加到SncRedisBundle中 出于测试目的,我修改了文件Snc\RedisBundle\DependencyInjection\SncRedisExtension.php中的load条令函数(关于我添加的代码,请参见注释“PHPCR元数据定义覆盖”,第1行) 这适用于覆盖元数据缓存,我可以在Redis数据库中看到元数据条目被填充Caching PHPCR节点和元缓存覆盖,caching,redis,doctrine-odm,symfony-cmf,doctrine-phpcr,Caching,Redis,Doctrine Odm,Symfony Cmf,Doctrine Phpcr,我正在使用Symfony CMF、PHPCR和SncRedisBundle。我想将PHPCR的元数据和节点缓存添加到SncRedisBundle中 出于测试目的,我修改了文件Snc\RedisBundle\DependencyInjection\SncRedisExtension.php中的load条令函数(关于我添加的代码,请参见注释“PHPCR元数据定义覆盖”,第1行) 这适用于覆盖元数据缓存,我可以在Redis数据库中看到元数据条目被填充 现在我想覆盖节点结果缓存,但我似乎找不到一种方法来
现在我想覆盖节点结果缓存,但我似乎找不到一种方法来做到这一点。我找不到用于覆盖的服务定义名称。有人能为我指出正确的方向吗?我通过深入容器并查看提供的服务,成功地覆盖了元和节点缓存。Snc\RedisBundle\DependencyInjection\SncRedisExtension.php中的代码已还原,只需修改config.yml文件 SncRedis覆盖了条令的缓存提供程序,因为我想使用相同的提供程序,所以我只需将meta设置为条令.orm.default\u metadata\u cache,将节点设置为条令.orm.default\u result\u cache 在此之后,所有条令元节点和结果缓存都被填充到我的Redis服务器中。完整配置如下:
doctrine_phpcr:
session:
backend:
type: doctrinedbal
connection: default
caches:
meta: doctrine.orm.default_metadata_cache
nodes: doctrine.orm.default_result_cache
workspace: default
username: admin
password: admin
odm:
auto_mapping: true
auto_generate_proxy_classes: "%kernel.debug%"
是的,您基本上是在
caches
config选项中配置完整的服务名称。但这并不明显,因为在文档中caches.meta和caches.nodes指向doctor\u cache.providers.xxx定义,参数在同一配置文件中。我不确定我是否理解。。但是如果你对如何改进文档有想法,请发送一份PR
doctrine_phpcr:
session:
backend:
type: doctrinedbal
connection: default
caches:
meta: doctrine.orm.default_metadata_cache
nodes: doctrine.orm.default_result_cache
workspace: default
username: admin
password: admin
odm:
auto_mapping: true
auto_generate_proxy_classes: "%kernel.debug%"