redis分布式锁执行逻辑(redis分布式锁获取流程)
2021-11-11 09:10:32 11 举报
redis分布式锁执行逻辑(redis分布式锁获取流程)
作者其他创作
大纲/内容
传入参数:lockKey,requestId,expireTime
setNx设置key,如果key存在返回0不存在返回1
await等待500毫秒
返回0(失败)说明当前lockKey被占用
设置key value过期时间expire lockKey requestId
return 0
开始
value不等于requestId
setNx lockKey requestId
循环尝试获取锁
结束
SET key value [NX] [XX] [EX <seconds>] [PX [millseconds]]必选参数说明:SET:命令key:待设置的keyvalue: 设置的key的value可选参数说明:NX:表示key不存在才设置,如果存在则返回NULLXX:表示key存在时才设置,如果不存在则返回NULLEX seconds:设置过期时间,过期时间精确为秒PX millseconds:设置过期时间,过期时间精确为毫秒
根据lockKey从redis中获取value
value等于requestId(成功)
redis分布式锁获取流程
判断是否设置成功
返回1(成功)
收藏
0 条评论
下一页