redis哨兵模式,若依框架配置

spring配置

spring:
  # redis通用配置 子服务可以自行配置进行覆盖
  data:
    redis:
      #host: 192.168.31.252
      #port: 6379
      #database: 0
      sentinel:
        master: mymaster
        nodes:    
      #全是哨兵节点  
          - 192.168.31.252:26379
          - 192.168.31.253:26379
          - 192.168.31.253:26380
     


      # redis 密码必须配置
      password: ruoyi123
      # 需要使用数字
      timeout: 10000
      ssl.enabled: false

# redisson 配置
redisson:
  # redis key前缀
  keyPrefix:
  # 线程池数量
  threads: 4
  # Netty线程池数量
  nettyThreads: 8

  sentinelServersConfig:
  #clusterServersConfig:
    # 客户端名称
    clientName: ${ruoyi.name}
    # master最小空闲连接数
    masterConnectionMinimumIdleSize: 32
    # master连接池大小
    masterConnectionPoolSize: 64
    # slave最小空闲连接数
    slaveConnectionMinimumIdleSize: 32
    # slave连接池大小
    slaveConnectionPoolSize: 64
    # 连接空闲超时,单位:毫秒
    idleConnectionTimeout: 10000
    # 命令等待超时,单位:毫秒
    timeout: 3000
    # 发布和订阅连接池大小
    subscriptionConnectionPoolSize: 50
    # 读取模式
    readMode: 'SLAVE'
    # 订阅模式
    subscriptionMode: 'MASTER'

另外,Java代码还要修改

    @Autowired
    private RedissonProperties redissonProperties;

    @Bean
    public RedissonAutoConfigurationCustomizer redissonCustomizer() {
        return config -> {
这个方法时增加增加,这个是与集群一样的

// 集群配置方式 参考下方注释
            RedissonProperties.ClusterServersConfig sentinelServersConfig = redissonProperties.getSentinelServersConfig();
            if (ObjectUtil.isNotNull(sentinelServersConfig)) {
                config.useSentinelServers()
                    //设置redis key前缀
                    .setNameMapper(new KeyPrefixHandler(redissonProperties.getKeyPrefix()))
                    .setTimeout(sentinelServersConfig.getTimeout())
                    .setClientName(sentinelServersConfig.getClientName())
                    .setIdleConnectionTimeout(sentinelServersConfig.getIdleConnectionTimeout())
                    .setSubscriptionConnectionPoolSize(sentinelServersConfig.getSubscriptionConnectionPoolSize())
                    .setMasterConnectionMinimumIdleSize(sentinelServersConfig.getMasterConnectionMinimumIdleSize())
                    .setMasterConnectionPoolSize(sentinelServersConfig.getMasterConnectionPoolSize())
                    .setSlaveConnectionMinimumIdleSize(sentinelServersConfig.getSlaveConnectionMinimumIdleSize())
                    .setSlaveConnectionPoolSize(sentinelServersConfig.getSlaveConnectionPoolSize())
                    .setReadMode(sentinelServersConfig.getReadMode())
                    .setSubscriptionMode(sentinelServersConfig.getSubscriptionMode());
            }
另外,以下类要增加属性:private ClusterServersConfig sentinelServersConfig;
@Data
@ConfigurationProperties(prefix = "redisson")
public class RedissonProperties {

文/程忠 浏览次数:0次   2025-06-25 15:49:44

相关阅读


评论:
点击刷新

↓ 广告开始-头部带绿为生活 ↓
↑ 广告结束-尾部支持多点击 ↑