跳转至

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-timeouttimeout一致。