什麼是Redis快取穿透 快取雪崩 快取擊穿

2021-10-03 16:11:45 字數 587 閱讀 8767

快取穿透,是指查詢乙個資料庫一定不存在的資料。正常的使用快取流程大致是,資料查詢先進行快取查詢,如果key不存在或者key已經過期,再對資料庫進行查詢,並把查詢到的物件,放進快取。如果資料庫查詢物件為空,則不放進快取。

採用快取空值的方式,也就是【**流程】中第5步,如果從資料庫查詢的物件為空,也放入快取,只是設定的快取過期時間較短,比如設定為60秒。

快取雪崩,是指在某乙個時間段,快取集中過期失效。

產生雪崩的原因之一,比如在寫本文的時候,馬上就要到雙十二零點,很快就會迎來一波搶購,這波商品時間比較集中的放入了快取,假設快取乙個小時。那麼到了凌晨一點鐘的時候,這批商品的快取就都過期了。而對這批商品的訪問查詢,都落到了資料庫上,對於資料庫而言,就會產生週期性的壓力波峰。

一般是採取不同分類商品,快取不同週期。在同一分類中的商品,加上乙個隨機因子。這樣能盡可能分散快取過期時間,而且,熱門類目的商品快取時間長一些,冷門類目的商品快取時間短一些,也能節省快取服務的資源。

快取擊穿,是指乙個key非常熱點,在不停的扛著大併發,大併發集中對這乙個點進行訪問,當這個key在失效的瞬間,持續的大併發就穿破快取,直接請求資料庫,就像在乙個屏障上鑿開了乙個洞。

讓快取永不過期。

Redis筆記12 快取穿透 快取擊穿 快取雪崩

使用者想要查詢乙個資料,發現redis記憶體資料庫沒有,也就是快取沒有命中,於是向持久層資料庫查詢。發現也沒有,於是本次查詢失敗。當使用者很多的時候,快取都沒有命中,於是都去請求了持久層資料庫。這會給持久層資料庫造成很大的壓力,這時候就相當於出現了快取穿透。比如,發起乙個id 1的資料庫查詢請求。布...

Redis 熱鍵問題,快取擊穿,快取穿透,快取雪崩

1.熱鍵問題 描述 熱鍵被大量客戶端訪問,導致大量網路流量集中在一台redis伺服器上,伺服器宕機。解決方法 將熱鍵分散到不同的redis伺服器上 2.快取擊穿 描述 熱鍵被大量客戶端訪問,熱鍵如果過期,可能導致大量網路流量打到 db 伺服器上,導致資料庫伺服器宕機 解決方法 對於熱鍵,訪問之前如果...

什麼是redis快取穿透,快取雪崩,快取擊穿

一.快取穿透 快取穿透是指查詢資料庫中一定不存在的資料,我們正常的操作流程,在查詢資料庫前,先去查詢快取,如果key不存在或者key過期失效,再去查詢資料庫,並把查詢到的物件放到快取中,如果查詢到的資料為null,不新增快取。流程 二.快取雪崩 快取雪崩可以理解為在某個時間段,快取集中過期,然後這段...