基于redis的分布式锁(按顺序拿锁和释放)

之前知道可以通过redis的setnx来进行加锁,但是,获取锁的顺序是没有保障的。刚好之前有写过一个AQS的博客,所以基于那个队列的原理写一个非公平分布式锁。 主要原理是,每个想获取锁的节点需要通过以下步骤(若获取锁user): 1.拿到序列号(user:seq) 2.入等待队列(队列为user:list)。 3.轮询,若队列头部为自己,则去获取锁。 主要接口为以下,使用方法与ReentreenL
相关文章
相关标签/搜索