首页 > Spring > 当前页面

redis分布式锁如果redis挂掉了,怎么办?

2026-07-06 NEW个对象

Redis 分布式锁的主要风险是主从切换导致锁丢失。官方推荐使用 RedLock 来降低风险,但在极端情况下仍不能保证绝对一致性。


如果业务对一致性要求非常高,更推荐使用 ZooKeeper 分布式锁。ZooKeeper 获取锁时需要监听 ConnectionLoss 和 SessionExpired 两类事件:连接丢失后主动确认是否真正获取到锁;Session 过期后立即停止业务处理,并结合 Fencing Token 防止失效客户端继续写入数据,从而保证数据的一致性。


如果客户端发生了长时间的 Full GC(Stop-The-World),看门狗线程可能无法按时发送续期指令,导致锁意外过期。此外,在 Redis 主从切换的瞬间,续期指令也可能丢失。

相关文章

  • redis分布式锁如果redis挂掉了,怎么办?

    redis暂时没有很好的解决方案,可以红锁来解决,但是红锁的建设成本太高。 红锁其实就是,配置多个redis mater环境,比如有5个,如果从3个redis mater里获取到了锁,则算成功。

    NEW个对象 2026-07-06

  • RAG是什么?它的工作原理是什么?

    RAG是什么?它的工作原理是什么?

    NEW个对象 2026-06-26

  • RAG做增量更新和全量更新?

    数据结构: 更新:每个chunk里包含一个document_id,如果文件更新,则根据document_id删除所有的对应的chunk,然后再添加进去。 删除:根据document_id,进行删除即可。 添加:直接添加即可

    NEW个对象 2026-07-07

NEW个对象 NEW个对象
JAVA是世界上最好的语言

推荐文章