由于单个redis实例不能满足我的需求,我选择了redis集群。我使用三个节点组成集群,并将数据填充到集群中。当我使用JedisCluster从集群中获取数据时,它比单个实例需要更多的时间。那么,连接jedis和redis集群的正确方式是什么呢?如何使用连接池连接jedis和redis集群?
发布于 2015-11-13 23:56:44
在jedis集群中检索数据时观察到延迟是正常的,这取决于您拥有的集群策略,因为为了获取数据,您将从一个jedis跳到另一个jedis。红色箭头是添加到jedis集群中查询的时间的原因。

访问正确实例的唯一方法是从键中了解数据的位置,在键中引入位置示例:"instance3/user/5“或找到位置实例对键执行计算。
发布于 2016-09-28 06:33:21
JedisCluster创建了它自己的池。您可以在创建JedisCluster对象时提供池的配置。从那时起,您可以将集群视为单个实例,请求将转到适当的集群实例。
JedisCluster cluster - new JedisCluster(...); ... cluster.set(key, value);
尝试找出它去了哪个实例可以由getSlot()完成,但不能保证从一个时刻到下一个时刻,您设置的密钥都在同一个实例上。由于故障转移,它可能已经移动。
https://stackoverflow.com/questions/31587128
复制相似问题