redis分布式锁的底层原理

IT影子

关注

阅读 79

2022-03-15

当有多个客户端请求过来的时候,redis分布式会判断这个key是否被锁住,如果没有锁住的话,redis会通过hash算法计指定到某一个机器上执行lua脚本进行保存key。通过看门狗watch dog一个后台启动的监控线程去判断任务有没有执行完,如果任务没有执行完,到了超时时间,会通过延时的方式延长生存时间。当另一客户端请求过来以后,发现key已经被锁住,会一直循环等待直到另一个客户端线程占有key的锁被释放。
具体流程如下如:请添加图片描述

精彩评论(0)

0 0 举报