分布式锁系列教程重点分享锁实现原理
Redis锁原理
核心命令
Redis分布式锁的原理是基于其SETNX命令,我们来看SETNX的解释。
实现过程
使用SETNX完成同步锁的流程及事项如下:
- 使用
SETNX命令获取锁,若返回0(key已存在,锁已存在)则获取失败,反之获取成功 - 为了防止获取锁后程序出现异常,导致其他线程/进程调用
SETNX命令总是返回0而进入死锁状态,需要为该key设置一个“合理”的过期时间 - 释放锁,使用
DEL命令将锁数据删除。
图解
参考资料
分布式锁系列教程重点分享锁实现原理
Redis分布式锁的原理是基于其SETNX命令,我们来看SETNX的解释。
使用SETNX完成同步锁的流程及事项如下:
SETNX命令获取锁,若返回0(key已存在,锁已存在)则获取失败,反之获取成功SETNX命令总是返回0而进入死锁状态,需要为该key设置一个“合理”的过期时间DEL命令将锁数据删除。
相关文章: