首页 > 数据库 >【Redis系列】- 什么是缓存击穿、缓存穿透、缓存雪崩?

【Redis系列】- 什么是缓存击穿、缓存穿透、缓存雪崩?

时间:2022-12-20 16:46:03浏览次数:44  
标签:缓存 请求 Redis 数据库 击穿 穿透 雪崩

背景

  我们在项目中大量使用Redis承接海量数据的冲击,但是使用过程中也会遇到一些特殊的情况,这个就是缓存击穿、缓存穿透、缓存雪崩。

 

缓存穿透问题 

  先来看一个常见的缓存使用方式:读请求来了,先查下缓存,缓存有值命中,就直接返回;缓存没命中,就去查数据库,然后把数据库的值更新到缓存,再返回。

  


  缓存穿透(Cache penetration) :

  指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。
  缓存穿透一般都是这几种情况产生的:
  通俗点说,读请求访问时,缓存和数据库都没有某个值,这样就会导致每次对 这个值的查询请求都会穿透到数据库,这就是缓存穿透。

 

 缓存击穿(Cache breakdown)
       当缓存的数据过期,同时对过期的数据进行大量请求,这突然导致搜索直接命中数据库,并极大地增加了数据库层的负载。

 

标签:缓存,请求,Redis,数据库,击穿,穿透,雪崩
From: https://www.cnblogs.com/songgj/p/16994550.html

相关文章

  • docker-compose 编排Net6项目,redis/mysql/nlog实战
    十年河东,十年河西,莫欺少年穷学无止境,精益求精1、新建net6webapi项目一个非常简单的net6项目,使用mysql数据库,redis做缓存   关于项目的搭建,这里不做说明,本篇主......
  • 故障分析 | Redis Cluster 分片内存异常使用不均问题诊断
    作者:任仲禹爱可生DBA团队成员,擅长故障分析和性能优化,文章相关技术问题,欢迎大家一起讨论。背景问题发生背景为某生产Redis集群(版本Redis5.0.10,架构为30片以上),该集群......
  • 开发- redis常用方法封装总结
    importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.redis.core.RedisTemplate;impor......
  • 【Redis系列】- Redis 为什么这么快?
      1.背景Redis现在广泛应用于大中型互联网项目中,最重要的场景就是作为分布式缓存,来应对大流量高并发的冲击,那么为什么Redis有如此高的性能,这篇文章就来分析一下R......
  • Redis的AOF持久化
    介绍AOF日志AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态。假设AOF日志记录了自Redis实例创建以来所有的修改性命令,那么就可以通过对一个空的......
  • Redis的数据持久化
    介绍Redis的数据持久化方案Redis的数据持久化主要有两大机制,AOF日志和RDB快照。AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态。RDB持久化......
  • Redis的数据持久化
    介绍Redis的数据持久化方案Redis的数据持久化主要有两大机制,AOF日志和RDB快照。AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态。RDB持久化......
  • 生产环境 Redis 优化记录
    1.现状描述1.1.生产环境生产环境配置6套Redis服务。1、配置为3节点物理服务器的Redis缓存群集,通过控制应用的主、备处于不同的物理服务器实现Redis访问的高可用,按不同......
  • 强缓存和协商缓存
    1.http缓存的作用:减少网络请求    1.服务器端压力较小    2.用户体验:看到界面的速度更快了用户体验好2.缓存的页面放到哪里去了:本地电脑(内存里面、硬盘......
  • RedisTemplate
    SpringBoot中Jedis几个api返回值的确认 @RequestMapping("/del/{key}")publicStringdel(@PathVariable("key")Stringkey){try{//键不存在......