springboot配置redis主从+sentinel(哨兵)+cluster(集群)

Spring Boot Redis 的默认客户端是 Lettuce,而Lettuce的对于redis的自动配置在LettuceConnectionConfiguration 类中,如图所示:

springboot配置redis主从+sentinel(哨兵)+cluster(集群)_第1张图片

通过查看redis配置源码,我们发现redis加载配置的顺序为: 哨兵 -> 集群-> 单机

Springboot的application.yml中配置哨兵如下:

springboot配置redis主从+sentinel(哨兵)+cluster(集群)_第2张图片
springboot配置redis主从+sentinel(哨兵)+cluster(集群)_第3张图片
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

你可能感兴趣的:(redis)