美文网首页
redis锁失效问题

redis锁失效问题

作者: 金融测试民工 | 来源:发表于2020-09-17 15:06 被阅读0次

问题说明:

    锁的原理大家都清楚,但是开发过程中可能出现遗漏。如下情况就是同一redis锁key,连续3次调用redis分布式锁存在失效的可能。

具体操作:

    同一redis锁key,同一时间连续3次调用请求,第一次请求拿取锁后处理中,第二次请求拿不到锁执行return,但是会执行finally导致锁释放,从而释放了锁。

    如果第一次还未处理完成,第三次请求就会出现再次获取锁的情况。

修复方案: 

1:将获取锁的tryLock2方法前置,放到try{} catch{} finally{} 代码块之前获取锁。

 2:可以设置解锁条件标识,只有获取到锁的请求才能在finally解锁。

相关文章

网友评论

      本文标题:redis锁失效问题

      本文链接:https://www.haomeiwen.com/subject/zqlpsktx.html