Redison看门狗机制

Redison提供了看门狗机制实现Redis分布式锁的自动续期。

//1、获取一把锁,只要锁的名字一样,就是同一把锁
RLock lock = redisson.getLock("my-lock");

//2、加锁
lock.lock(30,TimeUnit.SECONDS); // 省掉了整个续期操作。手动解锁
lock.lock(); //默认加的锁都是30s时间。看门狗机制自动续期。

如上,Redison加分布式锁的两个重载方法。

方法一:

lock.lock(30,TimeUnit.SECONDS);
  • 我们传递了锁的超时时间,就发送给redis执行脚本,进行占锁,默认超时就是我们指定的时间。
  • 在锁时间到了以后,不会自动续期。

方法二 (看门狗机制)

lock.lock();
  • 如果我们未指定锁的超时时间,就使用30 * 1000(LockWatchdogTimeout看门狗的默认时间);
  • 只要占锁成功,就会启动一个定时任务,每隔10s (看门狗时间 / 3)都会自动再次续期,续成30s;
  • 加锁的业务只要运行完成,就不会给当前锁续期,即使不手动解锁,锁默认在30s以后自动删除。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值