文章目录
一、缓存击穿问题概述
1.1 什么是缓存击穿
缓存击穿(Cache Breakdown)是指在高并发场景下,某个热点key突然失效(过期或被删除),导致大量请求直接穿透缓存层,同时访问数据库获取数据,给数据库造成巨大压力的现象。
与缓存穿透(访问不存在的数据)不同,缓存击穿针对的是原本存在但暂时失效的热点数据。举个生活中的例子:就像双11期间,某热门商品的价格缓存突然失效,导致数百万用户请求同时查询数据库获取最新价格,可能直接压垮数据库。
1.2 缓存击穿的危害
缓存击穿可能带来以下严重后果:
- 数据库压力激增:瞬时大量请求直接访问数据库
- 系统响应变慢:数据库过载导致查询延迟增加
- 服务雪崩风险:可能引发连锁反应导致整个系统崩溃
- 资源浪费:重复计算相同数据,浪费CPU和IO资源
1.3 典型场景分析
场景 | 描述 | 风险等级 |
---|---|---|
电商热点商品 | 秒杀商品、热门促销商品信息 | 极高 |