整合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);省掉了整个续期操作。手动解锁
浙公网安备 33010602011771号