在启动springBoot项目时redis连接失败,无法初始化足够的连接数量!24 个中只有 21 个被初始化
SingleServerConfig.class文件里面的
SingleServerConfig中的connectionMinimumIdleSize默认配置是24
这可能是导致这个问题出现的根源
.class文件是不能编辑的,我们该怎样实现替换数据呢?
在config目录下新建一个配置类,做为Redisson的初始化配置类
package com.shop.config;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.SingleServerConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.io.IOException;
/**
* Redisson初始化配置类
*/
@Configuration
public class RedissonConfig {
private static final String REDISSON_PREFIX = "redis://";
@Value("${spring.redis.host: 127.0.0.1}")
private String redisAddr;
@Value("${spring.redis.database: 0}")
private Integer database;
@Value("${spring.redis.password: -1}")
private String password;
@Bean
public RedissonClient redissonClient() throws IOException {
//创建配置类
Config config = new Config();
SingleServerConfig serverConfig = config.useSingleServer().
setAddress(String.join("", REDISSON_PREFIX, redisAddr, ":6379"));
/**
* 配置Redis访问密码
*/
if (password != null && !password.equals("")) {
serverConfig.setPassword(password);
}
/**
* 设置最小连接数
*/
serverConfig.setConnectionMinimumIdleSize(1);
/**
* 配置链接数据库0-15,默认:0
*/
serverConfig.setDatabase(database == null ? 0 : database);
return Redisson.create(config);
}
}
最主要的一行是:
// 设置最小连接数,就能解决这个问题
配置完成,再次运行项目
就可以成功启动啦!