redis分布式锁流程
2022-08-01 10:20:34 4 举报
redis分布式锁
作者其他创作
大纲/内容
否
是
pexpire给hash的可以重新设置过期时间30s
异步
取消定时
返回当前锁还有多久过期
hash数据类型保存锁数据key: 大keyfield: UUID:线程IDvalue: 1设置数据过期时间: leaseTime>0?leaseTime:30s
leasetime > 0
执行业务
判断获取锁的时间是否超过等待时间
设置当前线程重入次数+1设置数据过期时间为30s
通过semaphore信号来阻塞阻塞时间:剩余等待时间<锁释放时间?剩余等待时间:锁释放时间
判断hash里面的field是否存在
return nil 获取锁成功
看门狗机制--- 采用时间轮定时定时时间为10s
用户
field是否是当前的线程
大key存在
return nil获取锁成功
0 条评论
回复 删除
下一页