关于redis分布式锁

118 阅读1分钟

分布式锁

1.如果master宕机,slave没有同步过来

2.怎么保证解锁时解锁的是自己的锁。A线程获得了锁,锁因为过期被释放,线程B获取锁,此时线程A释放了线程B的锁,导致并发。

3.加锁的进程意外宕机退出,没有释放锁,需要有过期时间。

4.对redis主库进行迁移,在迁移瞬间可能存在两个主库可以写,导致多个线程同时获得锁。

下面两篇文章写得很棒!

基于Redis的分布式锁到底安全吗(上)

基于Redis的分布式锁到底安全吗(下)

redis官方原文 Distributed locks with Redis

redis官方中文版 Redis分布式锁

对redis分布式锁的反驳 How to do distributed locking

redis作者对反驳的反驳 Is Redlock safe?