day107-缓存-分布式锁-Redisson-lock看门狗原理-redisson如何解决死锁

关于说看门狗原理之前,先看看下面两行代码,哪一行用了看门狗呢?

第二行代码

跟源码我们会发现,带了过期时间的话,会执行lua脚本,执行上锁操作,然后过期时间是你设置的10s,所以一般要根据业务执行的平均时间然后

再适当增加来设置过期时间,以保证业务执行完之前锁还没过期

第一行代码

再仔细跟代码的话

关于看门狗部分:就是上锁时会有个过期时间,然后看门狗其实就是个定时任务,在每隔1/3默认时间时也就是10s执行一次,

然后把过期时间蓄满,所以在业务完成执行完成之前,锁不会自动过期,而业务完成之后锁也会自动过期,有个过期时间自然也就解决了死锁

想详细了解参考此篇

https://blog.csdn.net/weixin_33054847/article/details/112285924

然后实际应用的时候一般都是手动设置过期时间

猜你喜欢

转载自blog.csdn.net/JavaCoder_juejue/article/details/114984949