分布式锁

1 为什么要有分布式锁

在分布式系统中,如果多个节点(JVM)操作同一份资源,会产生数据不一致的情况。

2 实现分布式锁的核心思路

保证在某个时刻只有一JVM可以进行操作

3redis实现分布式锁

获取锁,多个JVM通过setnx命令,同时在redis上创建相同的key,返回1表示获取到锁,返回0表示获取锁失败,没有获取到锁的JVM进行等待

释放锁,在执行完操作的时候删除key,删除key时候要进行判断,只有自己的锁才可以删除。每个key都必须设置有效期,防止死锁发生

原文地址:https://www.cnblogs.com/moris5013/p/12690701.html