整合Redisson作为分布式锁等功能框架

1、

 

 

 

 

 

 可重入锁:

 

 

 

 redisson锁:

1、锁的自动续期,如果业务超长,运行期间自动给锁续上新的30s。不用担心业务时间长,锁自动过期被删掉;

2、加锁的业务只要运行完成,就不会给当前锁续期,即使不手动解锁,锁默认会在30s以后自动删除。

看门狗机制:

lock.lock(10,TimeUnit.SECONDS);在锁时间到了以后,不会自动续期

1、如果我们传递了锁的超时时间,就发送给redis执行脚本,进行占锁,默认超时就是我们指定的时间;

2、如果我们未指定锁的超时时间,就使用30*1000【lockWatchdogTimeout看门狗的默认时间】;

只要占锁成功,就会启动一个定时任务【重新给锁设置过期时间,新的过期时间就是看门狗的默认时间】,每隔10s都会自动再次续期

internalLockLeaseTime【看门狗时间】/3,10s

最佳实战:

1)、lock.lock(10,TimeUnit.SECONDS);省掉了整个续期操作。手动解锁

posted @ 2022-04-10 19:31  路在远处  阅读(74)  评论(0)    收藏  举报