注意:说明:
注意:腾讯云通过 VIP((Virtual IP Address)) 代理层统一屏蔽了 Redis 底层架构的复杂性(分片/高可用)。Redission 客户端访问腾讯云 Redis 实例时,无需配置集群或哨兵模式,而是像连接单节点 Redis 一样,直接访问腾讯云提供的统一入口 VIP。
一、推荐版本
综合评估,建议选择 Redisson 3.24.3 版本,单机连接模式。该版本稳定性和功能性得到验证,并且其他版本存在的问题得到了解决。具体信息,请参见 3.24.3 released。
二、其他版本
| 版本信息 | 核心问题 | 修复说明 |
| Redisson < 3.21.0 | 在 Redis 集群模式下,当后端节点发生变更时(如故障转移、扩缩容增减节点),Redisson 客户端未正确释放旧节点连接,导致连接池一定概率出现连接泄漏。 | Redisson 3.21.0 已解决该问题。具体说明,请参见Redisson Releases History。 |
| Redisson < 3.17.5 | Redis 集群发生副本节点变更(HA 切换、扩缩容、变配),会因副本刷新不正确而导致 Redission 加锁异常。 | Redisson 3.17.5 已解决该问题。具体说明,请参见 Error while attempting to set lock。 |
| Redisson < 3.18.1 | 当发生网络异常或机器宕机导致连接中断时,若业务系统正在使用分布式锁,所有获取锁的连接将被持续占用无法释放,客户端持续抛出java.util.concurrent.CancellationException 错误,最终导致整个分布式锁功能完全不可用。 | 具体修复方法,请参见 Fixed – RLock throws CancellationException continuously。 |
| Redisson > 3.44.0 | Redisson 单机模式连接腾讯云 Redis,调用 tryLock 方法,其新增的续约锁机制会按线程数发送 Lua 脚本,导致跨 slot 操作错误。说明:Redisson 集群模式可解决该问题,但需验证建连阶段是否因集群发现机制与 VIP 架构冲突引发异常,实例变配(如扩容)时 VIP 切换是否影响客户端稳定性。 | 在单机模式下解决该问题,需将lockWatchdogBatchSize参数显式设置为1。此配置将强制 Redisson 的锁批量续期机制以单线程串行化方式执行 Lua 脚本,确保每次续期操作仅处理单个 Key,从而规避跨 slot 错误。// Config中有一个setLockWatchdogBatchSize可以进行设置,比如public RedissonClient redissonClient(){ Config redissonConfig = new Config(); redissonConfig.setLockWatchdogBatchSize(1);} |