以下是Redisson的所有配置选项,用YAML格式表示,并加上详细的注释。这些配置项涵盖了Redisson的各种模式,包括单节点模式、集群模式、哨兵模式、主从模式、云模式等。
redisson:
# Redis模式,支持单节点(single), 哨兵(sentinel), 集群(cluster), 主从(master-slave), 云(redis-cloud)
mode: "cluster" # 示例为集群模式,可根据需要修改
# 通用配置
threads: 16 # Redisson处理命令的线程数
nettyThreads: 32 # Netty IO线程池的线程数
codec: !<org.redisson.codec.Kryo5Codec> { } # 编码器,用于序列化和反序列化
transportMode: "NIO" # 传输模式,可选NIO或EPOLL(Linux高性能模式)
# 集群模式配置
clusterServersConfig:
idleConnectionTimeout: 10000 # 连接空闲时间,单位为毫秒
connectTimeout: 10000 # 连接超时时间,单位为毫秒
timeout: 3000 # 命令等待超时时间,单位为毫秒
retryAttempts: 3 # 命令重试次数
retryInterval: 1500 # 命令重试间隔时间,单位为毫秒
failedSlaveReconnectionInterval: 3000 # 从节点重新连接间隔时间,单位为毫秒
failedSlaveNodeDetector: !<org.redisson.client.FailedConnectionDetector> { } # 自定义失败节点检测器
password: null # Redis连接密码
subscriptionsPerConnection: 5 # 每个连接的订阅数量
clientName: null # 客户端名称
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> { } # 负载均衡策略
subscriptionConnectionMinimumIdleSize: 1 # 订阅连接的最小空闲数
subscriptionConnectionPoolSize: 50 # 订阅连接池大小
slaveConnectionMinimumIdleSize: 24 # 从节点连接的最小空闲数
slaveConnectionPoolSize: 64 # 从节点连接池大小
masterConnectionMinimumIdleSize: 24 # 主节点连接的最小空闲数
masterConnectionPoolSize: 64 # 主节点连接池大小
readMode: "SLAVE" # 读操作的节点选择,默认从从节点读取(可选值:SLAVE, MASTER, MASTER_SLAVE)
subscriptionMode: "SLAVE" # 订阅操作的节点选择,默认从从节点订阅(可选值:SLAVE, MASTER, MASTER_SLAVE)
nodeAddresses: # Redis节点地址列表
- "redis://127.0.0.1:7004"
- "redis://127.0.0.1:7001"
- "redis://127.0.0.1:7000"
scanInterval: 1000 # 重新扫描集群节点状态的时间间隔,单位为毫秒
pingConnectionInterval: 30000 # PING命令发送时间间隔,单位为毫秒
keepAlive: false # 是否开启TCP KeepAlive
tcpNoDelay: true # 是否开启TCP_NODELAY以减少网络延迟
# 哨兵模式配置
sentinelServersConfig:
masterName: "master" # 主节点名称
sentinelAddresses: # 哨兵节点地址列表
- "redis://127.0.0.1:26379"
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveNodeDetector: !<org.redisson.client.FailedConnectionDetector> { }
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"
scanInterval: 1000
pingConnectionInterval: 30000
keepAlive: false
tcpNoDelay: true
# 单节点模式配置
singleServerConfig:
address: "redis://127.0.0.1:6379" # Redis服务器地址
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
password: null
subscriptionsPerConnection: 5
clientName: null
connectionMinimumIdleSize: 10
connectionPoolSize: 64
database: 0 # 使用的数据库索引
dnsMonitoringInterval: 5000 # DNS监控间隔时间,单位为毫秒
# 主从模式配置
masterSlaveServersConfig:
masterAddress: "redis://127.0.0.1:6379" # 主节点地址
slaveAddresses: # 从节点地址列表
- "redis://127.0.0.1:6380"
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveNodeDetector: !<org.redisson.client.FailedConnectionDetector> { }
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"
scanInterval: 1000
pingConnectionInterval: 30000
keepAlive: false
tcpNoDelay: true
# 云模式配置
cloudServersConfig:
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveNodeDetector: !<org.redisson.client.FailedConnectionDetector> { }
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://cloud.redis.node:6379"
scanInterval: 1000
pingConnectionInterval: 30000
keepAlive: false
tcpNoDelay: true
说明
- mode:指定Redis模式(单节点、哨兵、集群、主从、云)。
- threads和nettyThreads:配置Redisson和Netty的线程数。
- codec:配置Redisson使用的编解码器。
- transportMode:传输模式,支持NIO和EPOLL(适用于Linux高性能)。
- clusterServersConfig:集群模式的具体配置,包括连接超时、重试机制、负载均衡等。
- sentinelServersConfig:哨兵模式的具体配置。
- singleServerConfig:单节点模式的具体配置。
- masterSlaveServersConfig:主从模式的具体配置。
- cloudServersConfig:云模式的具体配置。
通过这些配置选项,你可以灵活地配置Redisson以适应不同的Redis部署模式和需求。