Php Symfony缓存组件:为所有我的redis池定义特定前缀?
我刚刚强制从条令缓存切换到Symfony缓存组件(sf4.4)。我错过的一件事是为缓存池定义精确前缀的能力。原因是我想在应用程序之外运行脚本,可以清除任何特定应用程序的全部redis缓存。以前这样做要容易得多,因为我可以扫描并删除所有以特定前缀开头的键 “缓存组件”页面上的文档对此非常模糊,我尝试在“问题”页面中搜索,它似乎说,如果您手动定义池而不是使用配置,您可以做到这一点 我发现了这个问题:但前缀_seed似乎不起作用。事实上,根据文档,前缀_seed仅用于计算散列 我也试过这样的方法:Php Symfony缓存组件:为所有我的redis池定义特定前缀?,php,symfony,redis,symfony4,symfony-cache,Php,Symfony,Redis,Symfony4,Symfony Cache,我刚刚强制从条令缓存切换到Symfony缓存组件(sf4.4)。我错过的一件事是为缓存池定义精确前缀的能力。原因是我想在应用程序之外运行脚本,可以清除任何特定应用程序的全部redis缓存。以前这样做要容易得多,因为我可以扫描并删除所有以特定前缀开头的键 “缓存组件”页面上的文档对此非常模糊,我尝试在“问题”页面中搜索,它似乎说,如果您手动定义池而不是使用配置,您可以做到这一点 我发现了这个问题:但前缀_seed似乎不起作用。事实上,根据文档,前缀_seed仅用于计算散列 我也试过这样的方法: s
services:
cache.adapter.redis_http:
parent: 'cache.adapter.redis'
public: true
autowire: true
autoconfigure: false
tags:
- { name: 'cache.pool', namespace: '%store_id%.http' }
它可以工作,但是如果我有20个池,我就必须定义20个不同的服务。有没有办法让它工作起来,这样密钥就可以是myprefix_symfonyhash
不过,我找不到任何关于如何做到这一点的明确文件。非常感谢您的指点