Redisson 看门狗(Watch Dog)机制实现原理
Redisson 的 Watch Dog 机制是分布式锁的核心组件之一,用于 自动续期 锁的过期时间,防止业务逻辑执行时间超过锁的持有时间,导致锁提前释放而引发并发问题。以下是其实现原理的详细分析:
1. 看门狗的核心作用
-
问题背景:
当线程获取锁后,如果业务执行时间超过锁的过期时间(如设置的leaseTime=30s),锁可能会被其他线程获取,导致数据不一致。 -
解决方案:
Watch Dog 会 定期检查 并 自动延长锁的过期时间,确保业务执行完成前锁不会失效。
2. 看门狗的工作流程
(1)加锁时启动看门狗
当使用 tryLock() 或 lock() 方法获取锁时:
-
如果 不指定
leaseTime(即锁无固定过期时间),Redisson 会 自动启动 Watch Dog。 -
如果 指定
leaseTime(如lock.lock(10, TimeUnit.SECONDS)),则 不会启动 Watch

最低0.47元/天 解锁文章
1862

被折叠的 条评论
为什么被折叠?



