缓存穿透,缓存雪崩,缓存击穿

1.缓存穿透

当大量访问一个redis缓存不存在的时候,请求直接到数据库,就会对数据库造成压力。

解决办法:

  1.给数据库不存在的值,设置null缓存。

  2.null缓存设置有效期。

2.缓存雪崩

当redis缓存同时失效,或者redis die 了。

解决办法:

  1.将有效时间设置为一个随机的范围之内。

  2.redis集群提高服务的可用性

  3.给缓存业务添加限流

  4.添加多级缓存

3.缓存击穿

大量请求同时访问一个缓存重建业务复杂的key突然失效了,数据库就会受到冲击。

  1.互斥锁

  2.逻辑过期

 

posted @ 2023-01-25 20:03  写代码的小哥哥  阅读(16)  评论(0)    收藏  举报