目录
一、Redisson介绍
二、Redisson中的几种锁
大多数生产环境中,一台redis节点肯定不能满足业务需要,通常会采用多节点redis集群部署,但是redis集群部署条件下可能会产生锁失效的情况。这个时候就需要用到RedLock红锁算法。

如图所示每个redis节点相互独立,没有主从复制关系,甚至可以部署在不同的机房里面。
RedLock算法
- 应用系统获取系统当前时间
- 应用程序使用相同的kv值依次从多个redis实例中获取锁,如果某一个节点超过一定时间依然没有获取到锁则直接放弃,尽快尝试从下一个健康的redis节点获取锁,以避免被一个宕机了的节点阻塞。
- 计算获取锁的消耗时间 = 客户端程序的系统当前时间 - step1中的时间,获取锁的消耗时间小于总的锁定时间(30s)并且半数以上节点获取锁成功,则