问题分析
上面分析了一个死锁的场景,理论上出了死锁我们redis分布锁很好的解决了分布式问题。但是还是会出现问题。下面列举写小编遇到的问题。
业务处理时间>上锁过期时间
a线程获取到锁,开始进行业务处理需要8S,
在8S内,锁的有效期是5S,在锁过期后也就是第6S , b线程进入开始获取锁这个时候b是可以获取到新锁的。这个时候就是有问题的。
假设b线程业务处理只需要3S , 但是因为a线程释放了锁,所以在第8S的时候虽然b线程没有释放锁,b的锁也没有过期但是这时候也没有了锁。从而导致C线程也可以进入
总结
到此这篇基于redis实现分布式锁的原理与方法的文章就介绍到这了,更多相关redis分布式锁内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!










