使用jedis连接Redis群集

时间:2015-07-23 12:18:00

标签: redis jedis

由于单个redis实例不符合我的要求,我选择了redis集群。我形成了具有三个节点的集群,并将数据填充到集群中。当我使用JedisCluster从集群获取数据时,它需要比单个实例更多的时间。那么,将jedis与redis集群连接起来的正确方法是什么。如何使用连接池将jedis与redis集群连接?

2 个答案:

答案 0 :(得分:2)

根据您所拥有的群集策略,在jedis群集中检索数据时,您会发现延迟是正常的,因为您将从一个jedis绑定到另一个jedis以获取数据。红色箭头是jedis群集中查询添加时间的原因。

jedis vs jedis cluster

访问正确实例的唯一途径是从密钥中了解数据的位置,在位置示例的密钥中介绍: " instance3 /用户/ 5"或找到位置实例对键进行计算。

答案 1 :(得分:1)

JedisCluster创建了自己的池。您可以在创建JedisCluster对象时提供池的配置。从那时起,您可以将集群视为单个实例,并且请求将转到正确的集群实例。

JedisCluster cluster - new JedisCluster(...); ... cluster.set(key, value);

尝试找出它去的实例可以由getSlot()完成,但不能保证从一个时刻到下一个时刻你设置的键在同一个实例上。由于故障转移,它可能已经移动。