Springboot Redis 配置参数说明¶
Redis 配置参数概览¶
# 选择Redis数据库索引 (0-15)
spring.redis.database=0
# Redis连接URL (格式: redis://[user:password@]host:port[/database])
spring.redis.url=146.56.223.148:6379
# Redis服务器主机地址
spring.redis.host=146.56.223.148
# Redis服务器端口
spring.redis.port=6379
# Redis用户名 (Redis 6+ ACL功能)
spring.redis.username=default
# Redis访问密码 (含特殊字符需引号)
spring.redis.password=#pwd@redis
# 命令执行超时时间(毫秒)
spring.redis.timeout=2000
# 连接建立超时时间(毫秒)
spring.redis.connect-timeout=5000
# 客户端名称标识 (用于服务端监控)
spring.redis.client-name=""
# 客户端实现类型 (jedis/lettuce)
spring.redis.client-type=jedis
# 是否启用SSL加密连接
spring.redis.ssl=false
# 自定义配置
# 从连接池获取连接时是否验证连接有效性
spring.redis.test-on-borrow=true
# Sentinel配置
# 哨兵模式下的主节点名称
spring.redis.sentinel.master=mymaster
# 哨兵节点地址列表 (host:port, 逗号分隔)
spring.redis.sentinel.nodes=127.0.0.1:26379,127.0.0.2:26379,127.0.0.3:26379
# Cluster 配置
# 集群最大重定向次数,Redis Cluster 中可能出现 MOVED 或 ASK 重定向
spring.redis.cluster.max-redirects=3
# 集群初始节点地址列表 (host:port, 逗号分隔)
spring.redis.cluster.nodes=127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379
# Jedis 连接池配置
# 启用Jedis连接池
spring.redis.jedis.pool.enabled=true
# 连接池最大活跃连接数
spring.redis.jedis.pool.max-active=20
# 连接池最大空闲连接数
spring.redis.jedis.pool.max-idle=10
# 连接池最小空闲连接数
spring.redis.jedis.pool.min-idle=2
# 获取连接最大等待时间(毫秒)
spring.redis.jedis.pool.max-wait=1000ms
# Lettuce 配置
# Lettuce关闭超时时间,控制优雅关闭连接的等待时间
spring.redis.lettuce.shutdown-timeout=100ms
# Lettuce 连接池配置(可选)
# 启用Lettuce连接池
spring.redis.lettuce.pool.enabled=true
# 连接池最大活跃连接数
spring.redis.lettuce.pool.max-active=20
# 连接池最大空闲连接数
spring.redis.lettuce.pool.max-idle=10
# 连接池最小空闲连接数
spring.redis.lettuce.pool.min-idle=2
# 获取连接最大等待时间(毫秒)
spring.redis.lettuce.pool.max-wait=1000ms
# Lettuce 集群拓扑刷新配置
# 启用自适应集群拓扑刷新,根据节点状态动态调整刷新频率,用于动态感知 Redis Cluster 节点变化
spring.redis.lettuce.cluster.refresh.adaptive=true
# 定期刷新集群拓扑的时间间隔,定时刷新集群元数据,避免连接失效
spring.redis.lettuce.cluster.refresh.period=30s
关键参数说明¶
url¶
格式:redis://[user:password@]host:port[/database]
如果使用了 url,则 host 和 port 会被忽略。
username¶
Redis 服务器登录用户名。
Redis 6+ 支持 ACL,可配置用户名;若未启用 ACL,通常为 "default"。
timeout 和 connect-timeout¶
- timeout: 指客户端发送请求后等待响应的最大时间
- connect-timeout: 仅用于建立 TCP 连接阶段的超时控制
不配置connect-timeout
,则connect-timeout
和timeout
一致。