Open lgb861213 opened 7 months ago
the code is following: package org.example;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import redis.clients.jedis.*;
import java.util.HashSet; import java.util.Set;
public class RedisCluster {
public static void main(String[] args) {
String endpoint="cxxxxxg.demo.xxxxx.xxxxxx.cache.amazonaws.com";
int port=6379;
String pass="Aaxxxxxxx6";
String user="admin";
int connectionTimeOut=2000;
int soTimeOut=2000;
int maxAttemps=5;
//Redis集群节点的HostAndPort
Set<HostAndPort> jedisClusterNodes=new HashSet<>();
jedisClusterNodes.add(new HostAndPort(endpoint,port));
//连接池配置
GenericObjectPoolConfig<Connection> poolConfig=new GenericObjectPoolConfig<>();
poolConfig.setMaxTotal(100);
poolConfig.setMaxIdle(20);
poolConfig.setMinIdle(10);
//创建JedisCluster对象
JedisCluster jedisCluster=new JedisCluster(jedisClusterNodes,connectionTimeOut,soTimeOut,maxAttemps,pass,user,null,poolConfig,true);
// 使用JedisCluster执行Redis命令
/*
jedisCluster.set("mykey", "myvalue");
String value = jedisCluster.get("mykey");
System.out.println("Value: " + value);
*/
// 关闭JedisCluster连接
jedisCluster.close();
}
}
and run it ,it show Exception in thread "main" redis.clients.jedis.exceptions.JedisClusterOperationException: Could not initialize cluster slots cache.
at redis.clients.jedis.providers.ClusterConnectionProvider.initializeSlotsCache(ClusterConnectionProvider.java:61)
at redis.clients.jedis.providers.ClusterConnectionProvider.
Process finished with exit code 1
How can I to fix it.
How to use jedis connection in aws elasticache for redis cluster? Because it provides the endpoint of the cluster.