前提
在cluster redis 中进行同一个命令处理不同的key会报错:CROSSSLOT Keys in request don't hash to the same slot
,例如:
此示例使用sdiff
命令对pool_1
与pool_2
进行diff操作。
那么我们在业务场景中就需要将集群redis中的不同key进行操作,我们该如何处理呢?
本次的示例场景,也是我实际业务开发遇到的场景,希望可以给大家有一个借鉴地方。
场景介绍
我有五个数据池子存储在cluster redis
中,(命名为:pool_1,pool_2,pool_3,pool_4,pool_5
,类型为:Set
集合),其中各个池子存储的数据会有重叠;
用户获取的数据是由pool_1->pool_2....->pool_5
的顺序按照各个池子配置的数据比例获取对应数据个数,并且获取的数据是不允许出现相同数据的,并且不再返回之前返回过的数据。
好嘞,场景介绍完了,我说的可能比较绕…(写作小白,各位大佬请见谅)