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

⼀ 、应⽤场景

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

1、缓存击穿

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

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

2、分布式定时任务

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

相关推荐
czlczl200209257 分钟前
增删改查时如何提高Mysql与Redis的一致性
数据库·redis·mysql
打工的小王8 分钟前
MySql(二)索引
数据库·mysql
数据知道8 分钟前
PostgreSQL 性能优化:如何提高数据库的并发能力?
数据库·postgresql·性能优化
wengqidaifeng9 分钟前
数据结构(三)栈和队列(上)栈:计算机世界的“叠叠乐”
c语言·数据结构·数据库·链表
数据知道10 分钟前
PostgreSQL性能优化:内存配置优化(shared_buffers与work_mem的黄金比例)
数据库·postgresql·性能优化
静听山水13 分钟前
Redis核心数据结构
数据结构·数据库·redis
流㶡22 分钟前
MySQL 常用操作指南(Shell 环境)
数据库
静听山水33 分钟前
Redis核心数据结构-Hash
数据结构·redis·哈希算法
数据知道35 分钟前
PostgreSQL 性能优化:连接数过多的原因分析与连接池方案
数据库·postgresql·性能优化