数据库
首页 > 数据库> > redis分布锁

redis分布锁

作者:互联网

1.redis分布式锁应用的场景?

1)防止缓存穿透:热点数据过期,大量线程访问mysql

2)  防止秒杀超卖:库存数量同步给redis后,对redis数据进行扣减

3)双写一致性:缓存的数据,被修改,导致数据库与缓存数据不一致。

4)接口幂等性:由于网络波动或者快速点击,导致发出多次请求。

2.分布式锁的死锁问题?

死锁:如果某个线程在执行锁逻辑过程中宕机,导致没有删除锁。

死锁的解决:

  添加过期时间

  原子性添加过期时间

3.分布式锁(redisson)

redisson是一个在redis基础上实现的java驻内存数据网络。(可以解决死锁的问题)

1.可重入锁(reentrant Lock)(redisson内部提供了一个监控锁的看门狗,看门狗检查锁的超过时间默认下30秒)

RLock lock = redisson.getLock("anyLock")
lock.lock().

 

标签:redisson,过期,lock,redis,死锁,分布,分布式
来源: https://www.cnblogs.com/blogs6/p/16655342.html