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

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

1.1.缓存穿透解决方法:

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

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

2.1 缓存雪崩解决方法:

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

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

3.1 缓存击穿的解决方法

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

相关推荐
一岁天才饺子38 分钟前
Redis漏洞复现
redis·web安全·网络安全
回家路上绕了弯38 分钟前
深度解析分布式事务3PC:解决2PC痛点的进阶方案
分布式·后端
Boilermaker19921 小时前
[Redis] 分布式缓存与分布式锁
redis·分布式·缓存
虹科网络安全2 小时前
艾体宝产品 | 隆重推出 Haink:Redis 的应用型 AI 智能体
数据库·人工智能·redis
镜花水月linyi2 小时前
MySQL与Redis缓存一致性方案
redis·后端·mysql
czlczl200209253 小时前
双 Token 机制下的无感刷新(Refresh Token)后端实现
数据库·spring boot·redis·后端·mysql
lhrimperial4 小时前
RabbitMQ核心技术深度解析
分布式·rabbitmq·ruby
Wang's Blog4 小时前
RabbitMQ: 高可用集群与跨集群通信架构深度解析
分布式·架构·rabbitmq
关于不上作者榜就原神启动那件事5 小时前
Redis学习笔记
redis·笔记·学习
爱学大树锯5 小时前
【高并发多线程原理】-分布式场景下解决一致性问题方案
分布式