使用Redis SETNX 命令实现分布式锁

SETNX命令简介  SETNX 是SET if Not eXists的简写。html

1、https://blog.csdn.net/lihao21/article/details/49104695  把分布式锁的几个关键点和隐含的坑(解决死锁),说的比较清楚。网络

2、https://blog.csdn.net/thc1987/article/details/80355155  【转】基于Redis Lua脚本实现的分布式锁(Java实现) 讲的很细,提到了,设计锁,两个潜在的陷阱。分布式

3、进阶1 其余比较成熟的有竞争力的实现  https://www.cnblogs.com/ironPhoenix/p/6048467.html 用Redis构建分布式锁-RedLock(真分布).net


在不一样进程须要互斥地访问共享资源时,分布式锁是一种很是有用的技术手段。实现高效的分布式锁有三个属性须要考虑:设计

在描述咱们的设计以前,咱们想先提出三个属性,这三个属性在咱们看来,是实现高效分布式锁的基础。htm

一致性:互斥,无论任什么时候候,只有一个客户端能持有同一个锁。
分区可容忍性:不会死锁,最终必定会获得锁,就算一个持有锁的客户端宕掉或者发生网络分区。
可用性:只要大多数Redis节点正常工做,客户端应该都能获取和释放锁。blog


4、进阶2 其余比较成熟的有竞争力的实现2 https://www.jianshu.com/p/cc9762a1486c  Spring boot用RedLock实现分布式锁进程

相关文章
相关标签/搜索