Commit 5cd4aebd authored by tangwei's avatar tangwei

修改redis连接

parent 377045ac
......@@ -23,6 +23,8 @@ import java.util.List;
public class RedissonConfig {
@Autowired
private RedisConfigProperties redisConfigProperties;
private volatile static RedissonClient redissonClient;
/**
* 集群模式的 redisson 客户端
*
......@@ -32,31 +34,39 @@ public class RedissonConfig {
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "cluster")
public RedissonClient redissonClient() {
//redisson版本是3.5,集群的ip前面要加上“redis://”,不然会报错,3.2版本可不加
List<String> clusterNodes = new ArrayList<>();
System.out.println("cluster redisProperties:" + redisConfigProperties.getCluster().toString());
for (int i = 0; i < redisConfigProperties.getCluster().getNodes().size(); i++) {
clusterNodes.add("redis://" + redisConfigProperties.getCluster().getNodes().get(i));
}
Config config = new Config();
if(redissonClient==null){
synchronized (RedissonConfig.class){
if(redissonClient==null){
List<String> clusterNodes = new ArrayList<>();
System.out.println("cluster redisProperties:" + redisConfigProperties.getCluster().toString());
for (int i = 0; i < redisConfigProperties.getCluster().getNodes().size(); i++) {
clusterNodes.add("redis://" + redisConfigProperties.getCluster().getNodes().get(i));
}
Config config = new Config();
ClusterServersConfig clusterServersConfig = config.useClusterServers()
//设置集群扫描时间
.setScanInterval(5000) // 集群状态扫描间隔时间,单位是毫秒
.setTimeout(30000)
//主节点线程池数量
.setMasterConnectionPoolSize(20)
//从节点线程池数量
.setSlaveConnectionPoolSize(20)
.setIdleConnectionTimeout(10000)
.setSlaveConnectionMinimumIdleSize(20)
.setMasterConnectionMinimumIdleSize(20)
.addNodeAddress(clusterNodes.toArray(new String[clusterNodes.size()]));
clusterServersConfig.setCheckSlotsCoverage(false);
// 设置密码
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
clusterServersConfig.setPassword(redisConfigProperties.getPassword());
}
redissonClient = Redisson.create(config);
}
}
ClusterServersConfig clusterServersConfig = config.useClusterServers()
//设置集群扫描时间
.setScanInterval(5000) // 集群状态扫描间隔时间,单位是毫秒
.setTimeout(30000)
//主节点线程池数量
.setMasterConnectionPoolSize(20)
//从节点线程池数量
.setSlaveConnectionPoolSize(20)
.setIdleConnectionTimeout(10000)
.setSlaveConnectionMinimumIdleSize(20)
.setMasterConnectionMinimumIdleSize(20)
.addNodeAddress(clusterNodes.toArray(new String[clusterNodes.size()]));
clusterServersConfig.setCheckSlotsCoverage(false);
// 设置密码
if (StringUtils.isNotBlank(redisConfigProperties.getPassword())) {
clusterServersConfig.setPassword(redisConfigProperties.getPassword());
}
RedissonClient redissonClient = Redisson.create(config);
return redissonClient;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment