01_redisson ReentrantLock的原理
2021-04-21 16:19:28 5 举报
redisson ReentrantLock的原理
作者其他创作
大纲/内容
自动刷新hash key的有效时间(30s)
否
是否被别人加锁
执行一段lua脚本
redis cluster3个节点以上
是
执行加锁逻辑
启动调度任务间隔1/3(10s)时间
加锁次数是否为0
客户端
进入while(true)死循环
刷新锁key的生存周期
停止调度任务
lua脚本返回值为null
\
加可重入锁
释放锁unlock
删除锁key
客户端redisson
返回了剩余时间到了指定时间再次尝试加锁
持有这把锁
执行lua脚本
根据key计算slot选择master
其他客户端/其他线程
加锁成功触发看门狗lock watchdog
将UUID:线程id对应的值减1
尝试加锁
客户端是否还持有锁
0 条评论
下一页