Redisson 分布式锁 缺陷
时间: 2023-10-29 14:33:43 浏览: 148
Redisson 分布式锁有以下缺陷:
1. 非阻塞式锁:Redisson 分布式锁是非阻塞式的,如果一个线程获取锁失败了,它不会一直等待锁的释放,而是直接返回失败。这种情况下,如果有大量的线程同时争抢锁,会导致大量的锁竞争失败,进而出现大量的重试,导致系统性能下降。
2. 锁失效问题:在 Redisson 中,分布式锁是通过 Redis 的一个 key-value 来实现的,如果锁的 key 被删除了,那么锁就失效了。如果锁的过期时间设置得不合理,或者 Redis 宕机了,都会导致锁失效。
3. 锁粒度问题:Redisson 分布式锁是以 key-value 的形式来实现的,如果一个应用程序中需要加锁的资源很多,那么就需要使用很多个 key 来实现分布式锁,这样就会导致 Redis 的内存占用率过高,甚至可能会导致 Redis 宕机。
4. 不支持重入锁:Redisson 分布式锁不支持重入锁,如果一个线程已经获得了锁,并且又试图去获取锁,那么它将会被自己阻塞住,导致死锁。
阅读全文