redis分布式锁

分布式锁需要解决的问题:多个进程不在同一个系统中,用分布式锁控制多个进程对资源的访问,防止脏数据产生

  1. 互斥性 只有一个客户端获取锁 
  2. 安全性 锁只能由持有概客户端的删除 不能由其他客户端删除
  3. 死锁 一个客户端获取到锁,导致宕机,而其他客户端无法获取到资源
  4. 容错 一个节点宕机,客户端任然能获取锁和释放锁

性能: 访问量大的共享资源,需要考虑减少锁等待的时间

  1. 锁的颗粒度要小
  2. 锁的范围尽量要小

重入: 同一线程可以重复拿到同一资源

Redis 分布式锁的缺陷:redis 哨兵模式下 对某个master节点写入redisson锁 异步复制给对应的slave节点 一旦宕机slave变成master 客户端2加锁 master上也能加锁 对同一个分布式锁加锁 脏数据

 

posted @ 2021-03-31 20:32  简直😓  阅读(41)  评论(0编辑  收藏  举报