文章目录
- 1.Redis分布式锁是如何实现的
- 2.Redisson实现分布式锁如何合理的控制锁的有效时长
- 3.Redisson的这个锁,可以重入吗
- 4.Redisson锁能解决主从数据一致的问题吗
1.Redis分布式锁是如何实现的
● 先按照自己简历上的业务进行描述分布式锁使用的场景
● 我们当时使用的redisson实现的分布式锁,底层是setnx和lua脚本(保证原子性)
2.Redisson实现分布式锁如何合理的控制锁的有效时长
在redisson的分布式锁中,提供了一个WatchDog(看门狗),一个线程获取锁成功以后,WatchDog会给持有锁的线程续期(默认是每隔10秒续期一次)
3.Redisson的这个锁,可以重入吗
可以重入,多个锁重入需要判断是否是当前线程,在redis中进行存储的时候使用的hash结构,来存储线程信息和重入的次数
4.Redisson锁能解决主从数据一致的问题吗
不能解决,但是可以使用redisson提供的红锁来解决,但是这样的话,性能就太低了,如果业务中非要保证数据的强一致性,建议采用zookeeper实现的分布式锁