【发布时间】:2015-10-13 17:52:41
【问题描述】:
由于单个redis实例不符合我的要求,我选择了redis集群。我用三个节点组成了集群,并将数据填充到集群中。当我使用 JedisCluster 从集群中获取数据时,它比单个实例需要更多时间。那么,将jedis与redis集群连接起来的正确方法是什么。如何利用连接池连接jedis和redis集群?
【问题讨论】:
由于单个redis实例不符合我的要求,我选择了redis集群。我用三个节点组成了集群,并将数据填充到集群中。当我使用 JedisCluster 从集群中获取数据时,它比单个实例需要更多时间。那么,将jedis与redis集群连接起来的正确方法是什么。如何利用连接池连接jedis和redis集群?
【问题讨论】:
【讨论】:
JedisCluster 创建它自己的池。您可以在创建 JedisCluster 对象时提供池的配置。从那时起,您可以将集群视为单个实例,请求将转到正确的集群实例。
JedisCluster cluster - new JedisCluster(...);
...
cluster.set(key, value);
getSlot() 可以尝试找出它转到哪个实例,但不能保证您设置的密钥从一开始就在同一个实例上。由于故障转移,它可能已经移动。
【讨论】: