分布式锁

  1. SETNX 和 EXPIRE 非原子性,解决:LUA 脚本
  2. 错误解除 A设置过期时间30s,A执行时间超过30s,会释放其他线程的锁,解决:UUID 标识当前线程
  3. 超时解锁导致并发, A设置过期时间30s,A执行时间超过30s,B也会并发执行
  4. 不可重入,
  5. 无法等待锁释放,轮询,PUBSUB
  6. 主备切换,并发执行
  7. 集群脑裂,并发执行

https://xiaomi-info.github.io/2019/12/17/redis-distributed-lock/

Updated: