Redis 雪崩和击穿

Redis 雪崩和击穿缓存雪崩缓存雪崩是指在同一时间段大量的缓存 key 同时失效或者 Redis 服务宕机 导致大量请求到达数据库 带来巨大压力 解决方案 给不同的 key 的 TTL 添加随机值利用 Redis 集群提高服务的可用性给缓存业务添加将降级限流策略给业务添加多级缓存缓存击穿缓存击穿问题也叫热点 key 问题 就是一个被高并发并且缓存重建业务较复杂的 key 突然失效了 无数的请求访问会瞬间给数据库带来巨大的冲击 例如一个人查询数据库重建缓存数据 在缓存数据还没有写入数据库的时候其它的人也对进行重复

缓存雪崩

缓存雪崩是指在同一时间段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。

解决方案:

给不同的key的TTL添加随机值

利用Redis集群提高服务的可用性

给缓存业务添加将降级限流策略

给业务添加多级缓存

缓存击穿

缓存击穿问题也叫热点key问题,就是一个被高并发并且缓存重建业务较复杂的key突然失效了,无数的请求访问会瞬间给数据库带来巨大的冲击;例如一个人查询数据库重建缓存数据,在缓存数据还没有写入数据库的时候其它的人也对进行重复多次的查询数据库写入缓存操作。

解决方案:互斥锁 逻辑过期

互斥锁:

Redis 雪崩和击穿

逻辑过期:

Redis 雪崩和击穿

互斥锁:优点:没有额外的内存消耗   保证一致性    实现简单

                缺点:需要线程等待,性能受影响  可能有死锁的风险

逻辑过期: 优点:线程无需等待,性能较好   

                缺点:不保证一致性   额外线程内存消耗  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211388.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午10:33
下一篇 2026年3月18日 下午10:33


相关推荐

  • 智谱推出 GLM Coding Plan 企业版:以最强 Agentic Coding 赋能千行百业

    智谱推出 GLM Coding Plan 企业版:以最强 Agentic Coding 赋能千行百业

    2026年3月12日
    2
  • 接口测试框架之Karate

    接口测试框架之Karate之前在一些博客中零零散散看到过对Karate介绍,基本都和Graphql接口测试绑定在一起,似乎测试GraphqlAPI首选的工具之一就是Karate。后来一位开发大牛也推荐我使用Karate,他提到自己之前的项目中就用框架测试Graphql接口,且强调该框架在ThoughtWorks的技术雷达中。想着Graphql使用越来越广泛,且技术雷达中介绍过的框架一般都有其独特优势,带着这些好奇心我花了…

    2025年8月14日
    4
  • MSM8937-MSM8953 I2C 配置调试指南

    MSM8937-MSM8953 I2C 配置调试指南 一、I2C配置(硬件描述)1.根据原理图,查找相关的i2c引脚对应的GPIO值,以GPIO10作为I2C_SDA,GPIO11作为I2C_SCL为例。查找GPIO10与GPIO11对应的BLSP,以及检查GPIO10与GPIO11是否可以作为I2C来使用。根据文档,GPIO10对应BLSP3_1,GPIO11对应BLSP3_0。GPIOFUNCTIONGPIO_6,GP1…

    2022年10月9日
    4
  • python 爬取图集谷妹子图片,按自己喜好抓取一页图片,有兴趣二次开发 抓全站

    python 爬取图集谷妹子图片,按自己喜好抓取一页图片,有兴趣二次开发 抓全站#-*-coding:utf-8-*-importrequests,time,osfromlxmlimportetreefromurllibimportrequest

    2022年7月1日
    26
  • A星算法理解_a星算法例题

    A星算法理解_a星算法例题A星算法理解1.选择A星算法的原因为了进行路径规划算法是不可回避的:启发式搜索算法是比较常规的一类算法就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。启发中的估价是用估价函数表示的,如:f(n)=g(n)+h(n)。g…

    2022年10月6日
    3
  • springboot自定义注解(一)

    springboot自定义注解(一)在整个 spring 框架中 提供的注解非常的多 这些注解简化了我们的很多操作 那么 我们如何自定义注解呢 第一步 学习已有的注解 Target ElementType METHOD ElementType TYPE Retention RetentionPol RUNTIME Documented Mappingpubli interfaceReq

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号