redis中的雪崩
本文最后更新于 195 天前,其中的信息可能已经有所发展或是发生改变。

Redis 雪崩

缓存层承载着大量的请求,有效保护了存储层。但是如果由于缓存大量失效或者缓存整体不能提供服务,导致大量的请求到达存储层,会使存储层负载增加,这就是缓存雪崩的场景。

如果大量的请求在redis上得不到响应,那么就会导致这些请求会直接去访问DB,导致DB的压力瞬间变大而卡死或者宕机。

  • 大量的高并发的请求打在redis上
  • 这些请求发现redis上并没有需要请求的资源,redis命中率降低
  • 因此这些大量的高并发请求转向DB(数据库服务器)请求对应的资源
  • DB压力瞬间增大,直接将DB打垮,进而引发一系列“灾害”(缓存穿透,雪崩,击穿)

而雪崩的原因无非就是这下面这几种:

缓存里面是大量经常用的数据,当这些数据时间设置短的时候,当下一次请求,缓存里面的数据过时了,那么就会有大量的数据对数据库进行访问,这样就会增加数据库的压力

缓存数据多个键值同时失效,常发生在键值前缀一样的情况

缓存服务器宕机,那么缓存就无法提供要请求的数据,那么数据就会从数据库获得,这就造成数据的压力增加

     解决办法

分散数据在缓存里面过期时间,不要集中在一个时间点上面

使用多级架构  nginx+redis+其他缓存

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇