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时不启动看门狗

image

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

 

posted @ 2025-01-13 11:15  人在代码在  阅读(157)  评论(0)    收藏  举报