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

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

1.1.缓存穿透解决方法:

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

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

2.1 缓存雪崩解决方法:

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

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

3.1 缓存击穿的解决方法

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

相关推荐
写代码的小阿帆17 分钟前
Java本地缓存技术——Guava、Caffeine
java·缓存·guava
神秘面具男0318 分钟前
ceph分布式存储
分布式·ceph
北亚数据恢复18 分钟前
VSAN分布式存储下非正常关机导致的虚拟机磁盘丢失如何恢复数据?
分布式·数据恢复·服务器数据恢复·北亚数据恢复·vsan数据恢复
xiaoshujiaa44 分钟前
Java大厂面试实录:谢飞机硬刚互联网医疗微服务架构,Spring Cloud+Redis+Kafka全踩坑
spring boot·redis·微服务·kafka·flyway·java面试·互联网医疗
我爱娃哈哈1 小时前
告别Redis瓶颈:Caffeine本地缓存优化实战指南
数据库·redis·缓存
机灵猫1 小时前
Redis 内部机制:持久化、内存淘汰与延迟优化
数据库·redis·缓存
阎*水1 小时前
Ceph 分布式存储完整实践指南
linux·运维·分布式·ceph
yours_Gabriel2 小时前
【kafka】基本概念
分布式·中间件·kafka
快乐的划水a2 小时前
「CIC→DMA→FIFO」的完整数据流程
缓存
一枚正在学习的小白2 小时前
prometheus监控redis
linux·运维·服务器·redis·prometheus