細說Redis分布式鎖
- Setnx
- Redlock
- Redisson
Setnx
說到Redis鎖的時候,可以先從Setnx講起,最后慢慢引出set命令的可以加參數,可以體現出自己的知識面。
Redisson
RedLock
- 順序向五個節點請求加鎖
- 根據一定的超時時間來推斷是不是跳過該節點
- 三個節點加鎖成功并且花費時間小于鎖的有效期
- 認定加鎖成功
- Martin Kleppmann的質疑貼:http://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html
- Antirez的反擊貼:http://antirez.com/news/101
總結
- https://redis.io/commands/set
- https://github.com/redisson/redisson/wiki/Table-of-Content
- https://redis.io/topics/distlock