<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Redis作為一個高效能的記憶體中的key-value資料結構儲存系統,在我們日常開發中廣泛應用於快取、計數器、訊息佇列、排行榜等場景中,尤其是作為最常用的快取方式,在提高資料查詢效率、保護資料庫等方面起到了不可磨滅的作用,但實際應用中,可能會出現一些Redis快取異常的情況,本文主要對Redis快取異常及處理方案進行了總結。
Redis是一個完全開源的、遵守BSD協定的、高效能的key-value資料結構儲存系統,它支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,而且不僅僅支援簡單的key-value型別的資料,同時還提供list,set,zset,hash等資料結構的儲存,功能十分強大,Redis還支援資料的備份,即master-slave模式的資料備份,從而提高可用性。當然最重要的還是讀寫速度快,作為我們平常開發中最常用的快取方案被廣泛應用。但在實際應用過程中,它會存在快取雪崩、快取擊穿和快取穿透等異常情況,如果忽視這些情況可能會帶來災難性的後果,下面主要對這些快取異常和常見處理方案進行相應分析與總結。
一段時間內本應在redis快取中處理的大量請求,都傳送到了資料庫進行處理,導致對資料庫的壓力迅速增大,嚴重時甚至可能導致資料庫崩潰,從而導致整個系統崩潰,就像雪崩一樣,引發連鎖效應,所以叫快取雪崩。
出現上述情況的常見原因主要有以下兩點:
針對大量快取資料同時過期的情況:
針對redis本身出現故障的情況:
快取擊穿一般出現在高並行系統中,是大量並行使用者同時請求到快取中沒有但資料庫中有的資料,也就是同時讀快取沒讀到資料,又同時去資料庫去取資料,引起資料庫壓力瞬間增大。和快取雪崩不同的是,快取擊穿指並行查同一條資料,快取雪崩是不同資料都過期了,很多資料都查不到從而查資料庫。
這種情況其實一般出現的原因就是某個熱點資料快取過期,由於是熱點資料,請求並行量又大,所以過期的時候還是會有大量請求同時過來,來不及更新快取就全部打到資料庫那邊了。
針對這種情況有兩種常見的處理方案:
快取穿透是指資料既不在redis中,也不在資料庫中,這樣就導致每次請求過來的時候,在快取中找不到對應key之後,每次都還要去資料庫再查詢一遍,發現資料庫也沒有,相當於進行了兩次無用的查詢。這樣請求就可以繞過快取直接查資料庫,如果這個時候有人想惡意攻擊系統,就可以故意使用空值或者其他不存在的值進行頻繁請求,那麼就會對資料庫造成比較大的壓力。
這種現象的原因其實很好理解,業務邏輯裡面如果使用者對某些資訊還沒有進行相應的操作或者處理,那對應的存放資訊的資料庫或者快取中自然也就沒有相應的資料,也就容易出現上述問題。
針對快取穿透,一般有以下三種處理方案:
除了上述三種常見的Redis快取異常問題之外,還經常聽到的有快取預熱和快取降級兩個名詞,與其說是異常問題,不如說是兩種的優化處理方法。
快取預熱就是系統上線前後,將相關的快取資料直接載入到快取系統中去,而不依賴使用者。這樣就可以避免在使用者請求的時候,先查詢資料庫,然後再將資料快取的問題。使用者直接查詢事先被預熱的快取資料,這樣可以避免那麼系統上線初期,對於高並行的流量,都會存取到資料庫中, 對資料庫造成流量的壓力。
根據資料不同量級,可以有以下幾種做法:
快取降級是指當快取失效或快取服務出現問題時,為了防止快取服務故障,導致資料庫跟著一起發生雪崩問題,所以也不去存取資料庫,但因為一些原因,仍然想要保證服務還是基本可用的,雖然肯定會是有損服務。因此,對於不重要的快取資料,我們可以採取服務降級策略。
一般做法有以下兩種:
本文主要對常見的Redis快取異常及其處理方案進行了總結,可以用下圖做個概括:
到此這篇關於Redis快取三大異常的處理方案梳理總結的文章就介紹到這了,更多相關Redis快取異常內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45