中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

redis中雪崩和穿透是什么意思

發布時間:2021-12-20 10:45:57 來源:億速云 閱讀:162 作者:小新 欄目:大數據

小編給大家分享一下redis中雪崩和穿透是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

緩存雪崩

對于系統 A,假設每天高峰期每秒 5000 個請求,本來緩存在高峰期可以扛住每秒 4000 個請求,但是緩存機器意外發生了全盤宕機。緩存掛了,此時 1 秒 5000 個請求全部落數據庫,數據庫必然扛不住,它會報一下警,然后就掛了。此時,如果沒用什么特別的方案來處理這個故障,DBA 很著急,重啟數據庫,但是數據庫立馬又被新的流量給打死了。

這就是緩存雪崩。

redis中雪崩和穿透是什么意思

大約在 3 年前,國內比較知名的一個互聯網公司,曾因為緩存事故,導致雪崩,后臺系統全部崩潰,事故從當天下午持續到晚上凌晨 3~4 點,公司損失了幾千萬。

緩存雪崩的事前事中事后的解決方案如下。

  • 事前:redis 高可用,主從+哨兵,redis cluster,避免全盤崩潰。

  • 事中:本地 ehcache 緩存 + hystrix 限流&降級,避免 MySQL 被打死。

  • 事后:redis 持久化,一旦重啟,自動從磁盤上加載數據,快速恢復緩存數據。

redis中雪崩和穿透是什么意思

用戶發送一個請求,系統 A 收到請求后,先查本地 ehcache 緩存,如果沒查到再查 redis。如果 ehcache 和 redis 都沒有,再查數據庫,將數據庫中的結果,寫入 ehcache 和 redis 中。

限流組件,可以設置每秒的請求,有多少能通過組件,剩余的未通過的請求,怎么辦?走降級!可以返回一些默認的值,或者友情提示,或者空白的值。

好處:

  • 數據庫絕對不會死,限流組件確保了每秒只有多少個請求能通過。

  • 只要數據庫不死,就是說,對用戶來說,2/5 的請求都是可以被處理的。

  • 只要有 2/5 的請求可以被處理,就意味著你的系統沒死,對用戶來說,可能就是點擊幾次刷不出來頁面,但是多點幾次,就可以刷出來一次。

緩存穿透

對于系統A,假設一秒 5000 個請求,結果其中 4000 個請求是黑客發出的惡意攻擊。

黑客發出的那 4000 個攻擊,緩存中查不到,每次你去數據庫里查,也查不到。

舉個栗子。數據庫 id 是從 1 開始的,結果黑客發過來的請求 id 全部都是負數。這樣的話,緩存中不會有,請求每次都“視緩存于無物”,直接查詢數據庫。這種惡意攻擊場景的緩存穿透就會直接把數據庫給打死。

redis中雪崩和穿透是什么意思

解決方式很簡單,每次系統 A 從數據庫中只要沒查到,就寫一個空值到緩存里去,比如 set -999 UNKNOWN。這樣的話,下次便能走緩存了。

以上是“redis中雪崩和穿透是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广安市| 崇礼县| 澎湖县| 贵定县| 璧山县| 金湖县| 吉木萨尔县| 鹤庆县| 政和县| 全州县| 汉沽区| 阆中市| 桑日县| 和顺县| 泰顺县| 曲靖市| 鲜城| 富锦市| 兴文县| 长治县| 闽清县| 讷河市| 大安市| 上饶市| 绥滨县| 贵德县| 达孜县| 日喀则市| 临颍县| 邯郸县| 县级市| 济南市| 商南县| 无锡市| 吉首市| 孟津县| 错那县| 东乌珠穆沁旗| 固安县| 静安区| 元氏县|