Redis缓存异常之缓存雪崩问题详细说明

本文详细介绍了缓存异常中的缓存雪崩、击穿、穿透问题。缓存雪崩可能是由于大量数据过期或Redis实例故障导致,解决方案包括微调过期时间、服务降级、服务熔断和请求限流。缓存击穿是热点数据过期失效引起的,解决方法是设置热点数据永不过期。缓存穿透是数据既不在缓存也不在数据库中,可以通过缓存空值、布隆过滤器或请求检测来预防。文章提供了预防和应对这些缓存问题的策略。
摘要由CSDN通过智能技术生成

缓存异常:缓存雪崩、击穿、穿透

1.缓存雪崩

1.1了解:

1.2第一个原因是:缓存大量过期

1.3第二个原因:Redis 缓存实例发生故障宕机

2.缓存击穿

2.1了解

2.2解决方式:

3.缓存穿透

3.1了解

3.2缓存穿透会发生两种情况

3.3第一种解决方式:缓存空值或缺省值。

3.4第二种解决方式:使用布隆过滤器快速判断数据是否存在,避免从数据库中查询数据是否存在,减轻数据库压力。

3.5第三种解决方式:在请求入口的前端进行请求检测

4.小结:缓存三剑客:缓存雪崩、击穿、穿透

4.1主要分析

4.4方案分析

4.3预防式方案

缓存异常:缓存雪崩、击穿、穿透
当发生缓存雪崩或击穿时,数据库中还是保存了应用要访问的数据。

缓存击穿,缓存更数据库中都没有应用要访问的数据。

1.缓存雪崩
1.1了解:
缓存雪崩是指大量的应用请求无法在 Redis 缓存中进行处理,紧接着,应用将大量请求发送到数据库层,导致数据库层的压力激增。

1.2第一个原因是:缓存大量过期
缓存中有大量数据同时过期,导致大量请求无法得到处理。

具体说明:

当数据保存在缓存中,并且设置了过期时间时--》某一个时刻,大量数据同时过期--》应用再次访问这些数据,发生缓存缺失--》应用把请求发送给数据库,从数据库中读取数据--》应用并发请求量大,数据库压力大,影响数据库正常业务请求处理

第一种解决方式:微调缓存过期时间

如果业务层的确要求有些数据同时失效,在使用 EXPIRE 命令给每个数据设置过期时间时,给这些数据的过期时间增加一个较小的随机数(例如,随机增加 1~3 分钟)。设置之后:不同数据的过期时间有所差别,但差别又不会太大,既避免了大量数据同时过期,同时也保证了这些数据基本在相近的时间失效,仍然能满足业务需求

第二种解决方式:服务降级

当业务应用访问的是非核心数据(例如电商商品属性)时,暂时停止从缓存中查询这些数据,而是直接返回预定义信息、空值或是错误信息;
当业务应用访问的是核心数据(例如电商商品库存)时,仍然允许查询缓存,如果缓存缺失&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhuhaiuser

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值