sharedjedis设置10个key之后分别存在了2个redis里面,那取值的时候会2个redis遍历才能取到值吗?还是redis数据自动同步呢?
来源:7-4 Coding+集群分布式区别讲解

慕丝8806
2019-12-28
sharedjedis设置10个key之后分别存在了2个redis里面,那取值的时候会2个redis遍历才能取到值吗?还是redis数据自动同步呢?
写回答
2回答
-
小刘呀
2022-02-14
本质上还是从Jedis中取的数据,Sharded类里有个方法,会判断你要取的数据在哪个Jedis中
public S getShardInfo(byte[] key) { SortedMap<Long, S> tail = nodes.tailMap(algo.hash(key)); if (tail.isEmpty()) { return nodes.get(nodes.firstKey()); } return tail.get(tail.firstKey()); }
这个方法会返回你需要的Jedis
00 -
geelylucky
2019-12-29
同学,这个要看你是集群部署还是分布式部署,集群部署会自动同步数据,无论从哪个redis实例中取值都是可以的,分布式部署,取值的时候客户端会计算key对应的hash值,找到映射的redis实例取值。
00
相似问题