Redission的锁的好处
Redission分布式锁的底层是setnx和lua脚本(保证原子性)
1.是可重入锁。
2.Redisson 锁支持自动续期功能,这可以帮助我们合理控制分布式锁的有效时长 ,当业务逻辑执行时间超出了锁的过期时间,锁会自动续期,避免了因为业务逻辑执行时间过长而导致锁提前释放。Redission锁提供的看门狗,一个线程成功索取锁后,看门狗会给持有锁的线程续期。
3.Redission锁支持等待锁,一个while循环不断等待,能提升性能。
4.Redission锁的红锁解决分布式锁的主从一致性问题,红锁:在多个redis实例上(n/2 + 1)创建锁,获取锁时要求在多个实例上都能获取锁成功。但这样性能太低了,如果业务中非要保证数据的强一致性,建议采用zookeeper实现分布式锁。