springboot有关redis配置的详解(基于 Spring Boot 2.x,Lettuce 客户端)
说明(基于 Spring Boot 2.x,Lettuce 客户端) - redis.host:Redis 实例地址(默认 127.0.0.1)
- redis.port:Redis 端口(默认 6379;)
- redis.password:授权密码(对应 Redis 配置 requirepass)
- redis.database:选择的逻辑库索引,0–15,默认 0
- 注意:Redis Cluster 固定为 0,设置无效
- redis.bdatabase:自定义的“二进制模板使用的库索引”
- 这不是 Spring Boot 标准属性,只有你在代码里用 @Value 或 @ConfigurationProperties 读取时才会生效
- redis.lettuce.pool:连接池(commons-pool2)配置,针对 Lettuce 的 TCP 连接复用
- max-active:池中最大连接数(-1 表示不限制)
- max-idle:池中保持的最大空闲连接
- min-idle:池中保持的最小空闲连接
- max-wait:当池耗尽时,借连接的最大等待时间
- 该属性是 Duration 类型;纯数字默认毫秒。你写 1 实际是 1ms,若想 1 秒请写 1s;-1 表示一直等
重要提示 - Spring Boot 的标准前缀是 spring.redis.。若直接写 redis.,框架不会自动绑定,除非你自定义读取。
- 建议写法:
- spring:
- redis:
- host: 127.0.0.1
- port: 6379
- password: 123000
- database: 0
- lettuce:
- pool:
- max-active: 8
- max-idle: 8
- min-idle: 0
- max-wait: 1s # 1 秒
- app:
- redis:
- binary-database: 1 # 供自定义的“二库模板”读取
复制代码
- 如果需要两个不同库,需在代码里声明两套 RedisConnectionFactory,分别设置 database=0 与 1,并让各自的 RedisTemplate 使用对应的工厂。
详情见:springboot如何连接不同序号的redis数据库,即连接多个不同的数据库
|