孙兴斌*_*孙兴斌 1 redis redis-cluster
我已经在这个问题中尝试过方法,但是由于我在集群模式下工作,因此它不起作用,redis告诉我:
(错误)CROSSSLOT请求中的键未哈希到同一插槽
该问题的答案尝试在一个中删除多个键DEL。但是,与给定模式匹配的键可能不会位于同一插槽中,并且如果这些键不属于同一插槽,则Redis Cluster不支持多键命令。这就是为什么您收到错误消息的原因。
为了解决此问题,您需要DEL一对一地使用以下密钥:
redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del
Run Code Online (Sandbox Code Playgroud)
该-L用于选项xargs命令指定键删除的数目。您需要将此选项指定为1。
为了删除所有与模式匹配的键,您还需要对集群中的每个主节点运行上述命令。
注意
使用此命令,您必须一个一个地删除这些密钥,这可能会很慢。您需要考虑重新设计数据库,并使用哈希标记使与模式匹配的键属于同一插槽。这样您就可以一次删除这些键DEL。
任一SCAN或KEYS命令是低效的,特别是,KEYS不应该在生产中使用。您需要考虑为这些键建立索引。
| 归档时间: |
|
| 查看次数: |
3282 次 |
| 最近记录: |