关于缓存:缓存穿透击穿雪崩

47次阅读

共计 233 个字符,预计需要花费 1 分钟才能阅读完成。

缓存穿透

缓存和数据库都没有的数据,eg. 订单号 -1。量大时会导致数据库压力过大。
解决办法:

  • 减少合法性校验。
  • 应用布隆过滤器,能够判断出有没有。
  • 缓存异样后果

    缓存击穿

    在缓存生效时被申请,如果量大,会导致数据库压力过大
    解决办法:

  • 热点数据永不过期
  • 数据为空时,加互斥锁,只容许一个申请击穿,击穿完缓存就有了(这个锁应该设成无限次自旋)

    缓存雪崩

    大量数据同时过期,申请量大会导致数据库压力过大
    解决办法:

  • 热点数据永不过期
  • 过期工夫加随机值
  • 热点数据扩散到不同分片,防止宕机引起雪崩
  • 两层缓存
正文完
 0