Redisson的配置

单节点模式/主从复制模式

application.yml

# application.yml
spring:
    redis:
        #  地址
        host: 192.168.1.100
        #  连接端口
        port: 6379
        #  连接密码(默认为空)
        password: 123456
        pool:
            #  连接池最大连接数(使用负值表示没有限制)
            max-active: 2000
            #  连接池最大阻塞等待时间(使用负值表示没有限制)
            max-wait: -1
            #  连接池中的最大空闲连接
            max-idle: 500
            #  连接池中的最小空闲连接
            min-idle: 0
        #  连接超时时间(毫秒)
        timeout: 3000
        #  Redisson配置 spring.redisson.singleServerConfig
        redisson:
            config:
                singleServerConfig:
                    #  连接空闲超时,单位:毫秒
                    idleConnectionTimeout: 100000
                    #  连接超时,单位:毫秒
                    connectTimeout: 10000
                    #  命令等待超时,单位:毫秒
                    timeout: 3000
                    #  命令失败重试次数
                    retryAttempts: 3
                    #  命令重试发送时间间隔,单位:毫秒
                    retryInterval: 1500
                    #  密码
                    password: null
                    #  单个连接最大订阅数量
                    subscriptionsPerConnection: 5
                    #  客户端名称
                    clientName: null
                    #  节点地址
                    address: redis://192.168.1.100:6379
                    #  发布和订阅连接的最小空闲连接数
                    subscriptionConnectionMinimumIdleSize: 1
                    #  发布和订阅连接池大小
                    subscriptionConnectionPoolSize: 50
                    #  最小空闲连接数
                    connectionMinimumIdleSize: 32
                    #  连接池大小
                    connectionPoolSize: 64
                    #  redis数据库编号
                    database: 0
                    #  DNS监测时间间隔,单位:毫秒
                    dnsMonitoringInterval: 5000
                #  线程池数量
                threads: 0
                #  Netty线程池数量
                nettyThreads: 0
                #  编码
                codec:
                  class: "org.redisson.codec.JsonJacksonCodec"
                #  传输模式
                transportMode: "NIO"
                #  配置看门狗的默认超时时间为30s,这里改为10s
                lockWatchdogTimeout: 10000

application.yml + singleServerConfig.yml

application.yml

# application.yml
spring:
    redis:
        #  地址
        host: 192.168.1.100
        #  连接端口
        port: 6379
        #  连接密码(默认为空)
        password: 123456
        pool:
            #  连接池最大连接数(使用负值表示没有限制)
            max-active: 2000
            #  连接池最大阻塞等待时间(使用负值表示没有限制)
            max-wait: -1
            #  连接池中的最大空闲连接
            max-idle: 500
            #  连接池中的最小空闲连接
            min-idle: 0
        #  连接超时时间(毫秒)
        timeout: 3000
        #  Redisson配置 spring.redisson.singleServerConfig
        redisson:
            file: classpath:singleServerConfig.yml.yml

singleServerConfig.yml

# singleServerConfig.yml --- 存放于application.yml同级目录
singleServerConfig:
  #  连接空闲超时,单位:毫秒
  idleConnectionTimeout: 100000
  #  连接超时,单位:毫秒
  connectTimeout: 10000
  #  命令等待超时,单位:毫秒
  timeout: 3000
  #  命令失败重试次数
  retryAttempts: 3
  #  命令重试发送时间间隔,单位:毫秒
  retryInterval: 1500
  #  密码
  password: 123456
  #  单个连接最大订阅数量
  subscriptionsPerConnection: 5
  #  客户端名称
  clientName: null
  #  节点地址
  address: redis://192.168.1.100:6379
  #  发布和订阅连接的最小空闲连接数
  subscriptionConnectionMinimumIdleSize: 1
  #  发布和订阅连接池大小
  subscriptionConnectionPoolSize: 50
  #  最小空闲连接数
  connectionMinimumIdleSize: 32
  #  连接池大小
  connectionPoolSize: 64
  #  redis数据库编号
  database: 0
  #  DNS监测时间间隔,单位:毫秒
  dnsMonitoringInterval: 5000
#  线程池数量
threads: 0
#  Netty线程池数量
nettyThreads: 0
#  编码
codec:
  class: "org.redisson.codec.JsonJacksonCodec"
#  传输模式
transportMode: "NIO"
#  配置看门狗的默认超时时间为30s,这里改为10s
lockWatchdogTimeout: 10000

哨兵模式

集群模式

application.yml

# application.yml
spring:
    redis:
        cluster:
            nodes: 192.168.1.100:6379,192.168.1.100:6479,192.168.1.101:6379,192.168.1.101:6479,192.168.1.102:6379,192.168.1.102:6479
        password: 123456
        pool:
            #  连接池最大连接数(使用负值表示没有限制)
            max-active: 2000
            #  连接池最大阻塞等待时间(使用负值表示没有限制)
            max-wait: -1
            #  连接池中的最大空闲连接
            max-idle: 500
            #  连接池中的最小空闲连接
            min-idle: 0
        #  连接超时时间(毫秒)
        timeout: 3000
        #  Redisson配置 spring.redisson.clusterServersConfig
        redisson:
            config:
                clusterServersConfig:
                    #  连接空闲超时,单位:毫秒
                    idleConnectionTimeout: 100000
                    #  连接超时,单位:毫秒
                    connectTimeout: 10000
                    #  命令等待超时,单位:毫秒
                    timeout: 3000
                    #  命令失败重试次数
                    retryAttempts: 3
                    #  命令重试发送时间间隔,单位:毫秒
                    retryInterval: 1500
                    #  失败从节点重连间隔时间
                    failedSlaveReconnectionInterval: 3000
                    #  失败从节点校验间隔时间
                    failedSlaveCheckInterval: 60000
                    #  密码
                    password: null
                    #  单个连接最大订阅数量
                    subscriptionsPerConnection: 5
                    #  客户端名称
                    clientName: null
                    #  负载均衡器
                    loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
                    #  发布和订阅连接的最小空闲连接数
                    subscriptionConnectionMinimumIdleSize: 1
                    #  发布和订阅连接池大小
                    subscriptionConnectionPoolSize: 50
                    #  从节点最小空闲连接数
                    slaveConnectionMinimumIdleSize: 24
                    #  从节点连接池大小
                    slaveConnectionPoolSize: 64
                    #  主节点最小空闲连接数
                    masterConnectionMinimumIdleSize: 24
                    #  主节点连接池大小
                    masterConnectionPoolSize: 64
                    #  读取操作的负载均衡模式
                    readMode: "SLAVE"
                    #  订阅操作的负载均衡模式
                    subscriptionMode: "SLAVE"
                    #  集群节点地址
                    nodeAddresses: 
                        - "redis://192.168.1.100:6379"
                        - "redis://192.168.1.100:6479"
                        - "redis://192.168.1.101:6379"
                        - "redis://192.168.1.102:6479"
                        - "redis://192.168.1.103:6379"
                        - "redis://192.168.1.103:6479"
                    #  对主节点变化节点状态扫描的时间间隔 - 单位是毫秒
                    scanInterval: 1000
                    #  ping连接间隔
                    pingConnectionInterval: 0
                    #  是否保持连接
                    keepAlive: false
                    #  默认启用 tcpNoDelay 设置
                    tcpNoDelay: false
                #  这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。默认当前处理核数量 * 2
                threads: 16
                #  这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量
                nettyThreads: 32
                #  Redisson的对象编码类是用于将对象进行序列化和反序列化,以实现对该对象在Redis里的读取和存储。
                #  Redisson提供了多种的对象编码应用,以供大家选择:https://github.com/redisson/redisson/wiki/4.-data-serialization
                #  默认 org.redisson.codec.MarshallingCodec,部分编码需要引入编码对于依赖jar包
                codec: !<org.redisson.codec.MarshallingCodec> {}
                #  传输模式,默认NIO,可选参数:
                #  TransportMode.NIO,
                #  TransportMode.EPOLL - 需要依赖里有netty-transport-native-epoll包(Linux)
                #  TransportMode.KQUEUE - 需要依赖里有 netty-transport-native-kqueue包(macOS)
                transportMode: "NIO"
                #  配置看门狗的默认超时时间为30s,这里改为10s
                lockWatchdogTimeout: 10000

application.yml + clusterServersConfig.yml

application.yml

# application.yml
spring:
    redis:
        cluster:
            nodes: 192.168.1.100:6379,192.168.1.100:6479,192.168.1.101:6379,192.168.1.101:6479,192.168.1.102:6379,192.168.1.102:6479
        password: 123456
        pool:
            #  连接池最大连接数(使用负值表示没有限制)
            max-active: 2000
            #  连接池最大阻塞等待时间(使用负值表示没有限制)
            max-wait: -1
            #  连接池中的最大空闲连接
            max-idle: 500
            #  连接池中的最小空闲连接
            min-idle: 0
        #  连接超时时间(毫秒)
        timeout: 3000
        #  Redisson配置 spring.redisson.clusterServersConfig
        redisson:
            file: classpath: clusterServersConfig.yml

clusterServersConfig.yml

#  clusterServersConfig.yml --- 存放于application.yml同级目录
clusterServersConfig:
    #  连接空闲超时,单位:毫秒
    idleConnectionTimeout: 100000
    #  连接超时,单位:毫秒
    connectTimeout: 10000
    #  命令等待超时,单位:毫秒
    timeout: 3000
    #  命令失败重试次数
    retryAttempts: 3
    #  命令重试发送时间间隔,单位:毫秒
    retryInterval: 1500
    #  失败从节点重连间隔时间
    failedSlaveReconnectionInterval: 3000
    #  失败从节点校验间隔时间
    failedSlaveCheckInterval: 60000
    #  密码
    password: 123456
    #  单个连接最大订阅数量
    subscriptionsPerConnection: 5
    #  客户端名称
    clientName: null
    #  负载均衡器
    loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
    #  发布和订阅连接的最小空闲连接数
    subscriptionConnectionMinimumIdleSize: 1
    #  发布和订阅连接池大小
    subscriptionConnectionPoolSize: 50
    #  从节点最小空闲连接数
    slaveConnectionMinimumIdleSize: 24
    #  从节点连接池大小
    slaveConnectionPoolSize: 64
    #  主节点最小空闲连接数
    masterConnectionMinimumIdleSize: 24
    #  主节点连接池大小
    masterConnectionPoolSize: 64
    #  读取操作的负载均衡模式
    readMode: "SLAVE"
    #  订阅操作的负载均衡模式
    subscriptionMode: "SLAVE"
    #  集群节点地址
    nodeAddresses: 
       - "redis://192.168.1.100:6379"
       - "redis://192.168.1.100:6479"
       - "redis://192.168.1.101:6379"
       - "redis://192.168.1.101:6479"
       - "redis://192.168.1.102:6379"
       - "redis://192.168.1.102:6479"
    #  对主节点变化节点状态扫描的时间间隔 - 单位是毫秒
    scanInterval: 1000
    #  ping连接间隔
    pingConnectionInterval: 0
    #  是否保持连接
    keepAlive: false
    #  默认启用 tcpNoDelay 设置
    tcpNoDelay: false
#  这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。默认当前处理核数量 * 2
threads: 16
#  这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量
nettyThreads: 32
#  Redisson的对象编码类是用于将对象进行序列化和反序列化,以实现对该对象在Redis里的读取和存储。
#  Redisson提供了多种的对象编码应用,以供大家选择:https://github.com/redisson/redisson/wiki/4.-data-serialization
#  默认 org.redisson.codec.MarshallingCodec,部分编码需要引入编码对于依赖jar包
codec: !<org.redisson.codec.MarshallingCodec> {}
#  传输模式,默认NIO,可选参数:
#  TransportMode.NIO,
#  TransportMode.EPOLL - 需要依赖里有netty-transport-native-epoll包(Linux)
#  TransportMode.KQUEUE - 需要依赖里有 netty-transport-native-kqueue包(macOS)
transportMode: "NIO"
#  配置看门狗的默认超时时间为30s,这里改为10s
lockWatchdogTimeout: 10000