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

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

1.1.缓存穿透解决方法:

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

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

2.1 缓存雪崩解决方法:

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

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

3.1 缓存击穿的解决方法

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

相关推荐
潇洒畅想21 小时前
分布式锁极端场景解决方案总结
分布式
潇洒畅想1 天前
分布式消息中间件处理(幂等,顺序,重试,积压)方案总结
分布式
李少兄1 天前
一文搞懂什么是关系型数据库?什么是非关系型数据库?
数据库·redis·mysql·mongodb·nosql
sysinside1 天前
Elasticsearch 9.2 发布 - 分布式搜索和分析引擎
大数据·分布式·elasticsearch
兔丝1 天前
ThinkPHP8 常见并发场景解决方案文档
redis·后端
嘉禾望岗5031 天前
spark算子类型
大数据·分布式·spark
大厂技术总监下海1 天前
来自美团生产环境的实战派:开源CAT监控,如何保障超大规模分布式系统可观测性?
分布式·开源
典孝赢麻崩乐急1 天前
Redis复习------跳表
数据库·redis·缓存
大厂技术总监下海1 天前
深入 Apache Dubbo 架构:解读一个开源高性能 RPC 框架的设计哲学与核心源码
分布式·微服务
✿ ༺ ོIT技术༻1 天前
Redis:Redis背景、特性、客户端及单线程模型
数据库·redis·缓存