欢迎光临
我们一直在努力

【软考高级架构师】缓存穿透、击穿、雪崩,面试和考试都是必问的“三兄弟”

听到\”缓存\”两个字就以为是性能救世主,结果上线后反而因为缓存被击穿导致数据库炸裂?

Redis 已经是现在系统的标配了。在软考高级架构师的案例分析中,缓存设计几乎是每一年的必考题。阅卷老师和面试官最喜欢问的,不是 Redis 有几种数据结构,而是:当缓存失效或被恶意攻击时,你的系统还能活下来吗?

这就要提到著名的缓存“三兄弟”:缓存穿透、缓存击穿、缓存雪崩。这三个词听起来很像,但成因和解决方案完全不同。搞混了它们,在架构设计上就是灾难。

一、 缓存穿透(Cache Penetration):查询根本不存在的数据

场景描述: 你可以理解为有人恶意攻击。他发起一个请求查询 ID = -1 的数据。

  • 查缓存:Redis 里肯定没有。

  • 查数据库:数据库里也没有。

  • 结果:这次查询什么都没得到,但白白消耗了数据库的一次连接。

  • 后果:如果有黑客用海量的不存在 ID 发起请求,都会绕过 Redis 直接打在数据库上,数据库瞬间挂掉。

  • 解决方案(架构师必背):

  • 布隆过滤器(Bloom Filter):在访问 Redis

  • 赞(0)
    未经允许不得转载:171主机测评 » 【软考高级架构师】缓存穿透、击穿、雪崩,面试和考试都是必问的“三兄弟”
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址