redis|redis cross slot error

原文:Redis Cross Slot error


翻译: 我尝试在redis中一次插入多条key/values(一些values是 set,一些是 hashs),我得到了这个错误:ERR CROSSSLOT Keys in request don't hash to the same slot。
【redis|redis cross slot error】我没有在 redis-cli中做这些而是在 go语言中,它需要写多个 key/values到一个 redis集群中。我看代码的其它多条key/values的地方是工作很好的,我不理解为什么我的不能工作,我需要做些什么 hash才能没有这个错误呢?
谢谢


Answers1: 在集群中,key会被划分到不同的槽中。不同的节点会拥有散列槽的一个子集。
多个key的操作、事务或者lua脚本调用多个key是允许的,只要所有被调用的key都在一个节点的hash槽中就可以。
redis集群实现了所有非分布式版本的单key命令。复杂命令的执行像set类型联合或者插入也是可以实现的,只要保证所有的key都属于单个节点。
你可以使用Hash Tags强制所有的key属于一个节点。

    推荐阅读