在使用JAVA API连接redis的时候,出现了异常:
redis.clients.jedis.exceptions.JedisMovedDataException: MOVED 1539 127.0.0.1:6379
问题的原因
JAVA API实现是redis集群实现方式,而在配置文中就配置的是单结点的方式。
Moved表示使用的是Redis集群。而Jedis不是集群模式。
解决方法:
将连接对象从Jedis换成JedisCluster。或者将配置文件中的信息由单结点模式变成集群模式。
//import redis.clients.jedis.HostAndPort;
//import redis.clients.jedis.JedisCluster;
HostAndPort hostAndPort = new HostAndPort(host, port);
Set<HostAndPort> hostAndPortSet = new HashSet<>();
hostAndPortSet.add(hostAndPort);
JedisCluster jedis = new JedisCluster(hostAndPortSet);
jedis.setnx(key, value);