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