快取擊穿 快取穿透 快取雪崩區別

2021-10-03 02:24:16 字數 719 閱讀 6537

**快取穿透: **

產生原因: 當前端傳送一條請求(這條請求快取和資料庫都沒有)到後台,會先到快取裡找,沒有再到資料庫去找,也沒有,如果有人惡意攻擊會造成資料庫蹦了,這就是穿透;

解決方法: 不管前面發的請求後台有沒有資料,都給乙個相應的值,比如乙個" " 空字串,在存到redies中,這樣下次再來查就不會再到資料庫中去查了;直接返回乙個空字串(無論有沒有這條資料都返回乙個值);

快取擊穿

產生原因: 快取擊穿,是指乙個key非常熱點(例如雙十一期間進行搶購的商品資料),在不停的扛著大併發,大

併發集中對這乙個點進行訪問,當這個key在失效的瞬間,持續的大併發就穿破快取,直接請求到資料

庫上,就像在乙個屏障上鑿開了乙個洞。

問題解決: 我們同樣可以將這些熱點資料設定永不過期就可以解決快取擊穿的問題了。

**快取雪崩:

產生原因: 對於很短的時間段內redies快取的資訊都失效了,這時突然來了10000個請求前面失效的資訊,會造成突然的都去找資料庫查,造成資料庫壓力突然的增大(這就相當於雪崩).

解決方法: 對於不經常查的資訊,存到redies時間短一點,對於熱門的資訊查詢,存到redies中時間長一點,錯開高峰期,可以這麼理解,這樣就能避免資料壓力突然變大;

快取穿透 快取擊穿 快取雪崩

一 快取處理流程 前台請求,後台先從快取中取資料,取到直接返回結果,取不到時從資料庫中取,資料庫取到更新快取,並返回結果,資料庫也沒取到,那直接返回空結果。二 快取穿透 描述 快取穿透是指快取和資料庫中都沒有的資料,而使用者不斷發起請求,如發起為id為 1 的資料或id為特別大不存在的資料。這時的使...

快取穿透,快取擊穿,快取雪崩

所謂的快取穿透,簡單來講就是查詢某些不存在的key時,快取和資料庫查詢結果都為空,而空的結果又不被快取起來,而導致每次查詢都去請求資料庫層的情況。在流量大時,可能db就掛掉了,要是有人利用不存在的key頻繁攻擊我們的應用,這就是漏洞。過程 快取不命中,進而導致每次查詢都去查詢資料庫,快取也就失去了作...

快取穿透快取擊穿快取雪崩

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