1. springboot整合连接池对象
@Configuration: 配置类
@Bean: 方法返回值有spring容器管理
@ConfigurationProperties: 读取需要的配置属性值
2.配置步骤
- 添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
- 编写一个配置类,添加配置注解
@Configuration
@ConfigurationProperties(prefix="redis")
public class ShardedJedisConfig{
private Integer maxTotal;
private Integer maxIdle;
private Integer minIdle;
private List<String> nodes;
GET/SET方法
}
- application.properties中准备分片连接池属性
redis.maxTotal=200
redis.maxIdle=8
redis.minIdle=3
//有几个主节点写几个用 , 隔开
redis.nodes=host:port,host:port
application.properties里面redis.maxTotal中的redis是配置文件prefix中对应的
- 在配置类中,实现一个连接池对象的创建.在方法中new一个连接池对象,注入使用
@Bean
public ShardedJedisPool initPool(){
//收集节点信息
List<JedisShardInfo> info new ArrayList<>();
for(String node:nodes){
String host = node.split(":")[0];
int port = Integer.parseInt(node.split(":")[1]);
info.add(new JedisShardInfo(host,port));
}
//配置属性config
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(maxTotal);
config.setMaxIdle(maxIdle);
config.setMinIdle(minIdle);
return new ShardedJedisPool(config,info);
}