分布式锁
2019-10-08 10:05:15 1 举报
分布式锁的实现思路
作者其他创作
大纲/内容
开启while循环
否
开启for循环
判断是否相等
成功:返回true
根据key获取值
保证原子性
分布式锁V2 加锁
失败
算当前超时时间expireTime
S2
成功
判断时间是否大于获取锁的超时时间
是
返回true表示解锁成功
判断是否设置成功
判断删除key的结果
睡眠500毫秒
分布式锁V2 加锁要求客户端时间同步
传入key和锁的超时时间
根据key获取锁设置的时间
de(key)
1 表示成功
判断锁设置时间不为空,同时大于当前事件
传入解锁超时时间和 key和对应值
分布式锁V2 解锁
失败:返回false
判断当时时间是否大于传入的超时时间
分布式锁V1 解锁要求客户端时间同步
SET key value PX 3000 NX (复合命令设置锁和超时时间)
返回false表示解锁失败
失败:返回0表示失败
0表示失败
1表示成功
成功:返回超时时间
del(key)
0 条评论
下一页