Redis-分布式锁


  • Redisson -> LUA
    • 自旋信号量拿锁
      • 解锁后信号量唤醒尝试再加锁(Redis订阅发布通知唤醒)
    • 锁续命
      • 避免线程执行时锁失效,导致该线程释放其它线程的锁
    • 锁重入
    • 读写锁
    • 锁失效:无解,Redis的可用性高于可靠性
    • 原子加锁&原子解锁:避免加解锁中途服务故障
  • RedLock(超半数加锁)锁失效:
    • 主从锁失效
      • 复制延迟
      • 主从切换
    • 1s持久化数据丢失
    • 网络分区
    • 时钟漂移
    • 宕机(无法在足够多的实例上获取锁)
  • 锁粒度:分段锁(将一个key拆分成多个,供不同的服务器读写)
  • Redisson 分布式锁
    • Redisson 分布式锁

文章作者: 钱不寒
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 钱不寒 !
  目录