当前位置:   article > 正文

zunionstore异常:CROSSSLOT Keys in request don't hash to the same slot

crossslot keys in request don't hash to the same slot. channel

这里需要注意的是需要组成并集的各个集合的key必须是对应到redis集群中的同一个slot上,否则将会出现一个异常:CROSSSLOT Keys in request don’t hash to the same slot。所以redis提供了一种特定的标签{},这个{}内的字符串才参与计算hash slot.列如:{user}:aaa与{user}:bbb 这两个集合可以确保在同一个slot上,可以使用zunionstore求它们的并集。所以,在处理这种需要合并redis历史数据时,如果是在redis集群环境下,需要特别注意。

在cluster上所有的多key操作都会报同样的错误

172.16.0.130:6379> zadd {user}:ccc 1 petter
-> Redirected to slot [5474] located at 172.16.0.135:6379
(integer) 1
172.16.0.135:6379> zrange {user}:ccc 0 -1
1) "petter"
172.16.0.135:6379> zadd {user}:ddd 2 jack
(integer) 1
172.16.0.135:6379> zrange {user}:ddd 0 -1
1) "jack"
172.16.0.135:6379> zunionstore {user}:sum 2 {user}:ccc {user}:ddd
(integer) 2
172.16.0.135:6379> zrange {user}:sum 0 -1
1) "petter"
2) "jack"
172.16.0.135:6379>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/794033
推荐阅读
相关标签
  

闽ICP备14008679号