Redis公平锁队列重排机制与超时处理分析.pdfVIP

  • 0
  • 0
  • 约1.17千字
  • 约 2页
  • 2026-09-09 发布于北京
  • 举报

Redis公平锁队列重排机制与超时处理分析.pdf

涉及到队列的重排序

恍恍惚惚的,又行进到了10:00:36秒,客户端C来进行的重新尝试进行加锁,此时客户端B

他其实在这之前不知道可能因为网络或者是别的什么,可能他就是没有尝试过重新

加锁

进入whiletrue,拿到队列第一个元素的timeout时间,10:00:30=10:00:36,条件成立

zremredisson_lock_timeout:{anyLock}UUID_02:threadId_02,就从有序集合中将客户端B移除

了,lpopredisson_lock_queue:{anyLock},就从队列中将客户端B也移除了

此时队列的第一个元素是客户端C,他的timeout时间是10:00:35=10:00:36,条件成立,

从有序集合以及队列中删除掉客户端C

尝试进行加锁,不成立,因为客户端A还持有着那把锁

重新排队入队,pttlanyLock=23000毫秒

ttl=23000毫秒

timeout=23000毫秒+10:00:36+5000毫秒=10:01:04

zadd和rpush两个指令,将客户端C压入队列和有序集合中

假设此时,在10:00:38,客户端B再次尝试来进行加锁,whiletrue

尝试加锁,不成立

重新尝试入队

ttl=

文档评论(0)

1亿VIP精品文档

相关文档