缓存穿透、缓存雪蹦、缓存击穿记录

  1. 缓存穿透:
    多个恶意并发请求不存在的数据,缓存中没有,导致多个请求进入到数据库,数据库中查询null,没有返回数据到缓存中,导致一直有大量请求到数据库中。数据库压力过大,这种情况叫做缓存击穿。

1.1.缓存穿透解决方法:

数据库中不存在的数据,也给缓存中保存一个标识数据库,避免重复访问数据库压力过大,切记要给缓存的标志位加上过期时间。避免出现数据库与缓存数据不一致。

  1. 缓存雪崩
    缓存中存储的不同类型的大量数据同时过期,导致大量请求到缓存中没有查询到数据,继续到数据库中查询,数据库压力过大。这种情况叫做缓存雪崩

2.1 缓存雪崩解决方法:

缓存中不同类型的数据存储设置不同的过期时间,避免大量同时过期

  1. 缓存击穿
    大量的请求到一个缓存的热点数据,热点数据刚好过期了。查询不到数据,导致进一步到数据库,db的压力过大。'

3.1 缓存击穿的解决方法

查询数据库之前加锁,只允许一个请求到数据库查询,随后把返回数据保存到缓存中,剩下的请求再直接访问缓存,减少数据库压力,并提高响应速度。

相关推荐
心态还需努力呀7 小时前
CANN仓库通信库:分布式训练的梯度压缩技术
分布式·cann
indexsunny10 小时前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
Coder_Boy_11 小时前
基于SpringAI的在线考试系统-相关技术栈(分布式场景下事件机制)
java·spring boot·分布式·ddd
IT陈图图14 小时前
CANN生态数据引擎:minddata的缓存策略与性能调优
缓存·cann
程序员泠零澪回家种桔子14 小时前
分布式事务核心解析与实战方案
分布式
凯子坚持 c14 小时前
CANN 生态中的分布式训练利器:深入 `collective-ops` 项目实现高效多卡协同
分布式
惊讶的猫16 小时前
rabbitmq实践小案例
分布式·rabbitmq
摇滚侠16 小时前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
禁默16 小时前
打破集群通信“内存墙”:手把手教你用 CANN SHMEM 重构 AIGC 分布式算子
分布式·重构·aigc
啦啦啦_999917 小时前
Redis-2-queryFormat()方法
数据库·redis·缓存