Redis分布式锁的应用场景有哪些

⼀ 、应⽤场景

在多线程并发的场景下 ,Java Synchronized/Reentrantlock 锁能够实现同⼀个JVM进程内多线程 并发的安全性 ,但⽆法保证多个JVM进程实例构成的集群环境在多线程下的安全性。在⼀些业务场景 下需要引⼊分布式锁。

1、缓存击穿

当某个热点缓存数据过期时 ,如果此时有⼤量并发请求访问这个数据 ,这些请求将直接穿透缓存访问 后端数据库。

在缓存失效的瞬间 ,使⽤分布式锁来保证只有⼀个线程去访问数据库 ,其它线程等待该线程从数据库 中加载数据并更新缓存后再获取。避免⼤量请求同时访问数据库。

2、分布式定时任务

分布式集群下的定时任务⼀般是多实例部署的 ,很多业务场景⽐如:商品定时上架、定时⽣成数据 报表等要求在执⾏时机到来时只允许⼀个实例执⾏任务。 因此 ,执⾏定时任务时需要考虑抢锁来争夺 定时任务执⾏权。

相关推荐
CT随12 分钟前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
TravisBytes14 分钟前
Redis如何解决热Key问题
数据库·redis·缓存
ezreal_pan17 分钟前
kafka消费能力压测:使用官方工具
分布式·kafka
宽带你的世界18 分钟前
TiDB 是一个分布式 NewSQL 数据库
数据库·分布式·tidb
隔壁老王15625 分钟前
tidb实时同步到mysql
数据库·mysql·tidb
xiao-xiang29 分钟前
kafka-集群缩容
分布式·kafka
2501_9032386531 分钟前
深入理解 JUnit 的 @RunWith 注解与自定义 Runner
数据库·junit·sqlserver·个人开发
比花花解语32 分钟前
Kafka在Windows系统使用delete命令删除Topic时出现的问题
windows·分布式·kafka
解决方案工程师34 分钟前
【Kafka】Kafka高性能解读
分布式·kafka
yellowatumn37 分钟前
RocketMq\Kafka如何保障消息不丢失?
分布式·kafka·rocketmq