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

⼀ 、应⽤场景

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

1、缓存击穿

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

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

2、分布式定时任务

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

相关推荐
lusklusklusk29 分钟前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
hweiyu0034 分钟前
Redis命令:HPERSIST
redis·缓存
hweiyu0040 分钟前
Redis命令:HPEXPIRE
redis·缓存
PHP实战开发录2 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说3 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
今年下半年3 小时前
【Spring Boot】多种存储文件(FastDFS / MinIO / 阿里云 OSS)接入设计说明(附源码)
spring boot·分布式·中间件·简单工厂模式·策略模式
Shadow(⊙o⊙)3 小时前
MySQL索引
数据库·mysql
ShineWinsu5 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
倔强的石头_5 小时前
多环境配置治理:开发、测试、生产连接信息如何隔离
数据库
杨云龙UP5 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql