我采用的是 SpringBoot3 和 Redis7,Spring 中的配置文件如下,供大家参考:
# =========================Redis单机=============================
spring.data.redis.database=0
#修改为自己真实IP
spring.data.redis.host=192.168.88.130
spring.data.redis.port=6379
spring.data.redis.password=123456
spring.data.redis.lettuce.pool.max-active=8
spring.data.redis.1ettuce.pool.max-wait=-1ms
spring.data.redis.1ettuce.pool.max-idle=8
spring.data.redis.lettuce.pool.min-idle=0
# ===========================redis集群===========================
spring.data.redis.password=123456
# 获取失败 最大重定向次数
spring.data.redis.cluster.max-redirects=3
spring.data.redis.lettuce.pool.max-active=8
spring.data.redis.lettuce.pool.max-wait=-1ms
spring.data.redis.lettuce.pool.max-idle=8
spring.data.redis.lettuce.pool.min-idle=0
#支持集群拓扑动态感应刷新,自适应拓扑刷新是否使用所有可用的更新,默认false关闭
spring.data.redis.lettuce.cluster.refresh.adaptive=true
#定时刷新
spring.data.redis.lettuce.cluster.refresh.period=2000
spring.data.redis.cluster.nodes=192.168.111.175:6381,192.168.111.175:6382,192.168.111.176:6383,192.168.111.176:6384
注意,一定要开启集群拓扑动态感应刷新,不然万一集群中某个机子挂了,Redis Cluster 集群能自动感知并自动完成主备切换,对应的 slave 会被选举为新的 master 节点,但是 SpringBoot 客户端就不会动态感知 RedisCluster 的最新集群信息,导致服务拥堵。