快取穿透查詢的資料在快取伺服器(redis)中沒有,就繞過快取伺服器 直接與資料庫進行io互動,對伺服器造成巨大壓力
解決方案: 查詢資料在redis如果沒有,就將該資料設定為null放在redis中 防止暴力攻擊
或者使用布隆過濾器
本質上布隆過濾器是一種資料結構,比較巧妙的概率型資料結構(probabilistic data structure),特點是高效地插入和查詢,可以用來告訴你 「某樣東西一定不存在或者可能存在」。
相比於傳統的 list、set、map 等資料結構,它更高效、占用空間更少,但是缺點是其返回的結果是概率性的,而不是確切的。
快取雪崩快取雪崩是指快取中大量的資料到期,而查詢資料巨大 造成資料庫壓力過大甚至宕機
快取雪崩是很多資料因為過期了所以查不到 因此去向資料庫查
解決方法: 物品分類 採用隨機因子 使大量資料不會同一時間過期,讓資料過期錯開來
快取擊穿快取擊穿 是 指「爆款」 快取中沒有該資料資料庫中有該資料(或者說在快取中剛過期) 大量併發使用者去資料庫進行互動,造成資料庫壓力過大。
解決方案: 1、設定熱點資料永不過期
2、加互斥鎖
快取穿透 快取擊穿 快取雪崩
一 快取處理流程 前台請求,後台先從快取中取資料,取到直接返回結果,取不到時從資料庫中取,資料庫取到更新快取,並返回結果,資料庫也沒取到,那直接返回空結果。二 快取穿透 描述 快取穿透是指快取和資料庫中都沒有的資料,而使用者不斷發起請求,如發起為id為 1 的資料或id為特別大不存在的資料。這時的使...
快取穿透,快取擊穿,快取雪崩
所謂的快取穿透,簡單來講就是查詢某些不存在的key時,快取和資料庫查詢結果都為空,而空的結果又不被快取起來,而導致每次查詢都去請求資料庫層的情況。在流量大時,可能db就掛掉了,要是有人利用不存在的key頻繁攻擊我們的應用,這就是漏洞。過程 快取不命中,進而導致每次查詢都去查詢資料庫,快取也就失去了作...
快取穿透快取擊穿快取雪崩
1 快取穿透 1.1 什麼是快取穿透 快取穿透,是指查詢乙個資料庫一定不存在的資料 核心 快取和資料庫該值不存在 正常的使用快取流程大致是,資料查詢先進行快取查詢,如果key不存在或者key已經過期,再對資料庫進行查詢,並把查詢到的物件,放進快取。如果資料庫查詢物件為空,則不放進快取。1.2 帶來的...