" />
文章

Redis 不同模式下的分布式锁

不同模式下的保障机制

2.1 单机模式

  • 简单直接: 在单机Redis上直接执行SET命令,实现加锁和解锁。
  • 风险: Redis单机故障会导致锁无法释放,造成死锁。

2.2 主从模式

  • 数据冗余: 主节点写入数据,从节点同步,提高数据可靠性。
  • 锁失效风险: 如果主节点故障,在切换主节点的过程中,可能出现短暂的锁失效。
  • Redisson的处理: Redisson会监视主从切换,并自动将锁迁移到新的主节点。

2.3 哨兵模式

  • 自动故障转移: 哨兵监控Redis实例,当主节点故障时,自动选举新的主节点。
  • 提高可用性: 相比主从模式,哨兵模式提供了更高的可用性。
  • Redisson的处理: Redisson会订阅哨兵发布的事件,在主节点切换时自动更新客户端的连接信息。

2.4 集群模式

  • 数据分片: 数据均匀分布在多个节点上,提高系统性能和可用性。
  • Redisson的处理: Redisson会根据key的hash值选择对应的节点进行操作。
  • 锁失效风险: 在集群重新分片时,可能出现锁失效的情况。
License:  CC BY 4.0