Spring Boot Redis 的默认客户端是 Lettuce,而Lettuce的对于redis的自动配置在LettuceConnectionConfiguration 类中,如图所示:
通过查看redis配置源码,我们发现redis加载配置的顺序为: 哨兵 -> 集群-> 单机
Springboot的application.yml中配置哨兵如下:
spring:
profiles:
active: standalone
---
spring:
profiles: standalone
# 默认使用的是lettuce框架封装的redis操作
# 默认连接redis的s顺序: 先 Sentinel哨兵模式 -> Cluster集群 -> 单机Redis
redis:
host: 127.0.0.1 # 连接redis的ip
port: 6379
database: 0 # 连接的是redis的几号数据库
password: 123456 # 连接redis的密码
lettuce:
# 连接池
pool:
max-wait: 100ms # 连接的最大等待时间
max-active: 8 # 最大连接数
max-idle: 4 # 最大空闲连接数
min-idle: 0 # 最小空闲连接数
---
spring:
profiles: sentinel
redis:
host: 127.0.0.1 # 连接redis的ip
port: 6379
database: 0 # 连接的是redis的几号数据库
password: 123456 # 连接redis的密码
lettuce:
# 连接池
pool:
max-wait: 100ms # 连接的最大等待时间
max-active: 8 # 最大连接数
max-idle: 4 # 最大空闲连接数
min-idle: 0 # 最小空闲连接数
sentinel:
master: mymaster # 配置哨兵时候master的名字
nodes:
- 127.0.0.1:26379
- 127.0.0.1:26380
- 127.0.0.1:26381
---
spring:
profiles: cluster
redis:
host: 127.0.0.1 # 连接redis的ip
port: 6379
database: 0 # 连接的是redis的几号数据库
password: 123456 # 连接redis的密码
lettuce:
# 连接池
pool:
max-wait: 100ms # 连接的最大等待时间
max-active: 8 # 最大连接数
max-idle: 4 # 最大空闲连接数
min-idle: 0 # 最小空闲连接数
# 配置集群
cluster:
nodes:
- 127.0.0.1:6379
- 127.0.0.1:6380
- 127.0.0.1:6381
- 127.0.0.1:6382
- 127.0.0.1:6390
- 127.0.0.1:6391