一个靠谱的分布式锁需要具备的条件和刚需
1.独占性
onlyOne,任何时刻只能有且仅有一个线程持有
2.高可用
若redis集群环境下,不能因为某一个节点挂了而出现获取锁和释放锁失败的情况
高并发请求下,依旧性能好使
3.放死锁
杜绝死锁,必须有超时控制机制或者撤销操作,有个兜底终止跳出方案
4.不乱抢
防止张冠李戴,不能私自unlock别人的锁,只能自己加锁自己释放
5.重入性
同一个节点的同一线程如果获得锁之后,它也可以再次获取这个锁
1.独占性
onlyOne,任何时刻只能有且仅有一个线程持有
2.高可用
若redis集群环境下,不能因为某一个节点挂了而出现获取锁和释放锁失败的情况
高并发请求下,依旧性能好使
3.放死锁
杜绝死锁,必须有超时控制机制或者撤销操作,有个兜底终止跳出方案
4.不乱抢
防止张冠李戴,不能私自unlock别人的锁,只能自己加锁自己释放
5.重入性
同一个节点的同一线程如果获得锁之后,它也可以再次获取这个锁