redission看门狗
情景1:有过期时间就不算看门狗,看门狗一定是没有过期时间的。
boolean isLocked = lock.tryLock(100, 10, TimeUnit.SECONDS);
场景2:没有过期时间的看门狗。
lock.tryLock(30, -1, TimeUnit.SECONDS);
//设置过期时间,看门狗机制就不生效了
RedissonClient redissonClient = Redisson.create();
RLock lock = redissonClient.getLock("mylock");
lock.tryLock(30, TimeUnit.SECONDS);
-1时不启动看门狗

-
自动续期:
-
看门狗会定期检查锁的状态,并在锁的持有时间即将到期时自动续期。
-
这样可以确保锁在业务逻辑执行期间一直有效,即使业务逻辑的执行时间超过了初始的持有时间。
-
-
续期频率:
-
看门狗的续期频率通常是锁持有时间的三分之一。例如,如果锁的持有时间是 30 秒,看门狗会每 10 秒检查一次锁的状态,并在必要时续期。
-
-
释放锁:
-
业务逻辑完成后,必须显式调用
unlock方法释放锁。
-

浙公网安备 33010602011771号