1.概述
上一篇文章:
【redis】Redis 分布式锁、redis session、Redlock 红锁、Zookeeper锁
本章节主要讲解redis中的红锁,假设我们有个客户端要获取锁,然后向master去获取锁,然后master会把锁同步到slave节点,假设现在还没同步出去的时候,master节点挂了。
然后从节点升级为主节点,然后另外一个刚刚在竞争锁失败处于阻塞状态的线程去获取锁的时候,但是新的master上,并没有锁的信息,然后就能拿到锁,此时就可能导致一些问题。
此时我们就能使用红锁,来解决这个问题。
一个客户端要向多个master节点发送加锁请求。只有半数的锁加锁成功,才是获取锁。
2. 详细
20230901日补充,上面讲解的不够清晰,下面再次讲解一下。
2.1 获取锁
原本我们是做主从同步,但是现在我们不做了,我们所