如何解决Symfony缓存组件:为我的所有Redis池定义一个特定的前缀?
我刚刚从Doctrine Cache强制切换到Symfony Cache组件(SF 4.4)。我想念的一件事是能够为缓存池定义确切的前缀。原因是我想在应用程序外部运行脚本,以清除所有特定应用程序的完整redis缓存。以前做起来要容易得多,因为我可以扫描并删除所有以特定前缀开头的密钥。
“缓存组件”页面上的文档确实含糊不清,我试图在问题页面中进行搜索,似乎是说,如果您手动定义池而不使用配置,则可以执行此操作。
我发现了以下问题:Set Redis cache prefix key on Symfony,但prefix_seed似乎并没有解决问题。实际上,根据该文档,prefix_seed是否打算仅用作计算哈希值的因子之一?
我也尝试过这样的事情:
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?
尽管如此,我找不到任何明确的文档。任何指针都将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。