redis设计键,让其映射到同一个slot

jedisCluster.sadd("PhiAd{materialType}qqqq","71","73");
jedisCluster.sadd("PhiAd{materialType}ssss","72","73");
Set<String> set = jedisCluster.sinter("PhiAd{materialType}qqqq","PhiAd{materialType}ssss");
System.out.println(JedisClusterCRC16.getSlot("PhiAd{materialType}qqqq"));
System.out.println(JedisClusterCRC16.getSlot("PhiAd{materialType}ssss"));

解释:redis在使用hash算法将键映射到slot时,只会计算{}里面的内容,若{}内的内容相同,则将键映射到同一个slot

           例子中{}内容均为materialType,这样在JedisClusterCRC16.getSlot(key)时得到相同的slot编码号。

          这样就可以使用jedisCluster.sinter(key1,key2)方法取交集,避免了键在不同的slot时,该方法报错

猜你喜欢

转载自blog.csdn.net/qq_27127145/article/details/81384458
今日推荐