该问题的答案尝试在一个中删除多个键
DEL。但是,与给定模式匹配的键可能不会位于同一插槽中,并且如果这些键不属于同一插槽,则Redis
Cluster不支持多键命令。这就是为什么您收到错误消息。
为了解决此问题,您需要
DEL一对一地使用以下密钥:
redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del
该
-L用于选项
xargs命令指定键删除的数目。您需要将此选项指定为
1。
为了删除所有与模式匹配的键,您还需要对集群中的每个主节点运行以上命令。
注意
使用此命令,您必须一个一个地删除这些密钥,这可能会很慢。您需要考虑重新设计数据库,并使用 哈希标记 使与模式匹配的键属于同一插槽。这样您就可以一次删除这些键
DEL
。任一
SCAN
或KEYS
命令是低效的,特别是,KEYS
不应该在生产中使用。您需要考虑为这些键建立索引。



