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