天天看点

什么是缓存击穿、缓存穿透、缓存雪崩?如何解决?

1 缓存的作用和一般使用流程

作用:

减少服务器压力,增加请求承载量,快速响应请求等等。

一般流程:

什么是缓存击穿、缓存穿透、缓存雪崩?如何解决?

2 缓存穿透

概念:指缓存和数据库中都没有用户想要查询到的数据,并且不断进行请求,造成数据库承载部分压力。

什么是缓存击穿、缓存穿透、缓存雪崩?如何解决?

解决方法:

  • 接口校验:防止非法请求
  • 将缓存中key-value的value设置为null

3 缓存击穿

概念:指同一时间内大量缓存同时失效,导致请求全部转向数据库。

什么是缓存击穿、缓存穿透、缓存雪崩?如何解决?

解决方法:

  • 设置热点数据永不过期
  • 加锁,设置数据库为延时访问

4 缓存雪崩

概念:指同一时间内大量不同请求的缓存同时失效,导致请求全部转向数据库,引起数据库宕机。

  • 缓存数据的过期时间设置随机
  • 将热点数据均匀分布在不同缓存数据库中
  • 设置热点数据永远不过期