1、源码如下
package com.djhu.redis.test; import java.util.Set; import java.util.HashSet; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster; public class JedisClusterTest { public static void main(String[] args) { Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>(); jedisClusterNodes.add(new HostAndPort("172.16.172.4", 6379)); jedisClusterNodes.add(new HostAndPort("172.16.172.4", 6380)); jedisClusterNodes.add(new HostAndPort("172.16.172.4", 6381)); jedisClusterNodes.add(new HostAndPort("172.16.172.4", 6382)); jedisClusterNodes.add(new HostAndPort("172.16.172.4", 6383)); jedisClusterNodes.add(new HostAndPort("172.16.172.4", 7384)); //JedisCluster cluster = new JedisCluster(jedisClusterNodes,3000,1000); JedisCluster cluster = new JedisCluster(jedisClusterNodes); cluster.set("key10", "j"); cluster.set("key11", "k"); cluster.set("key12", "l"); cluster.set("key13", "m"); cluster.set("key14", "n"); System.out.println(cluster.get("key12")); } }
2、如果遇到下面错误,主要是因为建立cluster时,ip用了127.0.0.1。用其他ip重建一下cluster,就可以解决了。
Exception in thread "main" redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections? at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:34) at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:68) at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:85) at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:68) at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:85) at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:68) at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:29) at redis.clients.jedis.JedisCluster.set(JedisCluster.java:75)
在nodes-7001.conf 可以看到是否使用了127.0.0.1