1. 缓存穿透

    • 定义
    业务系统访问压根就不存在的数据,就称为缓存穿透。
    • 危害
    如果海量请求查询压根就不存在的数据,
    那么这些请求都会落到数据库中,
    数据库压力剧增,可能会导致系统崩溃
    • 解决
    (1)缓存空数据
    (2)BloomFilter:它需要在缓存之前再加一道屏障,里面存储目前数据库中存在的所有key
  2. 缓存雪崩

    • 定义
    缓存因某种原因发生了宕机,那么原本被缓存抵挡的海量查询请求就会像疯狗一样涌向数据库。
    此时数据库如果抵挡不了这巨大的压力,它就会崩溃。这就是缓存雪崩
    • 解决
    (1)使用缓存集群,提高缓存的高可用性
    (2)使用防雪蹦的软件 会监控请求的失败率 当达到与设置时就会 熔断、降级、限流
  3. 热点数据集中失效

    • 定义
    一些请求量极高的热点数据而言,一旦过了有效时间,此刻将会有大量请求落在数据库上,从而可能会导致数据库崩溃
    • 解决
    使用缓存自带的锁机制,当第一个数据库查询请求发起后,就将缓存中该数据上锁;
    此时到达缓存的其他查询请求将无法查询该字段,从而被阻塞等待;当第一个请求完成数据库查询,并将数据更新值缓存后,释放锁;此时其他被阻塞的查询请求将可以直接从缓存中查到该数据

梦缘
0 声望1 粉丝

一蓑烟雨任平生,也无风雨也无晴


« 上一篇
go学习笔记-1