缓存篇—缓存击穿

在很多场景下,我们的业务通常会有几个数据会被频繁地访问,比如秒杀活动,这类被频地访问的数据被称为热点数据。

如果缓存中的某个热点数据过期了,此时大量的请求访问了该热点数据,就无法从缓存中读取,直接访问数据库,数据库很容易就被高并发的请求冲垮,这就是缓存击穿的问题。

可以发现缓存击穿跟缓存雪崩很相似,你可以认为缓存击穿是缓存雪崩的一个子集。

应对缓存击穿可以采取前面说到两种方案:

  • 互斥锁方案,保证同一时间只有一个业务线程更新缓存,未能获取互斥锁的请求,要么等待锁释放后重新读取缓存,要么就返回空值或者默认值。
  • 不给热点数据设置过期时间,由后台异步更新缓存,或者在热点数据准备要过期前,提前通知后台线程更新缓存以及重新设置过期时间;

相关推荐

  1. Redis缓存击穿缓存雪崩、缓存穿透

    2024-02-23 19:12:03       56 阅读
  2. Redis缓存击穿

    2024-02-23 19:12:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 19:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 19:12:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 19:12:03       82 阅读
  4. Python语言-面向对象

    2024-02-23 19:12:03       91 阅读

热门阅读

  1. Odoo17 不再支持视图中的attrs和states

    2024-02-23 19:12:03       52 阅读
  2. ES6 面试题

    2024-02-23 19:12:03       43 阅读
  3. 设计模式-观察者模式(Observer Pattern)

    2024-02-23 19:12:03       44 阅读
  4. 8.3 OpenGL纹理和采样器:采样对象查询

    2024-02-23 19:12:03       52 阅读
  5. Unity常用设计模式之工厂模式

    2024-02-23 19:12:03       49 阅读
  6. 第1~8章 综合复习

    2024-02-23 19:12:03       40 阅读
  7. 信息安全基本概念汇总

    2024-02-23 19:12:03       56 阅读
  8. HarmonyOS | 状态管理(三) | @Link装饰器

    2024-02-23 19:12:03       50 阅读