redission锁的自动续期

RLock lock = redissionClient.getLock(key); 
lock.trylock(waitTime,leaseTime,TimeUnit.SECOND);

自动续期的前提:自动续期功能要求持有锁的线程必须仍然在运行。如果持有锁的线程意外终止或因其他原因停止运行,那么自动续期将无法执行,锁会在租期到期后被释放。

Redisson内部机制:Redisson 内部有一个 LockWatchdogTimeout 参数,它控制着自动续期的时间间隔。默认情况下,这个值为 30 秒。如果你设置的 leaseTime 比 LockWatchdogTimeout 要长,那么 Redisson 会自动续期。

可配置性:如果明确设置了 leaseTime,那么在这个时间到期后锁会被释放,不会继续自动续期。如果希望自动续期,可以在调用 tryLock 时将 leaseTime 参数设置为 -1。

总结一下,如果设置了 leaseTime 为 3600 秒,那么锁会在 3600 秒后释放,除你将 leaseTime 设置为 -1,此时锁会自动续期直到显式释放锁。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值