981377660LMT / ts

ts学习
6 stars 1 forks source link

缓存穿透、缓存击穿、缓存雪崩 #630

Open 981377660LMT opened 3 weeks ago

981377660LMT commented 3 weeks ago
中文名 英文名 解释 解决方案
缓存穿透 Cache Penetration 指缓存和数据库中都没有的数据,导致每次请求都要到数据库查询,失去缓存意义。一般由恶意攻击造成。 1. 使用布隆过滤器拦截不存在的请求。
2. 对空结果进行缓存,并设置短期过期时间。
缓存击穿 Cache Breakdown 指缓存中某个热点数据在失效的瞬间,有大量请求同时到达数据库,导致数据库压力过大。 1. 使用互斥锁或分布式锁。
2. 设置热点数据永不过期。
缓存雪崩 Cache Avalanche 指缓存中大量数据在同一时间失效,导致大量请求直接到达数据库,造成数据库压力过大。 1. 缓存数据的过期时间分散设置。
2. 使用二级缓存。
3. 限流降级。

记忆: Penetration->渗透、穿透;从缓存中穿透到数据库中。 Breakdown->崩溃、故障;缓存暂时坏了。 Avalanche->雪崩;缓存全部崩溃。