redis緩存穿透

時間 : 2019-11-09
點擊次數 : 99

      什么是緩存穿透:

      緩存穿透是指一個一定不存緩存里面的數據,由于緩存沒有所以這時需要去數據庫查詢,但是在數據庫查詢不到所以不會寫入緩存里面,導致每次請求這個數據的時候都會去查詢數據庫,這就是緩存穿透。

      解決方法:

      1、不管這個請求返回的有沒有數據,都把它寫入緩存,但是過期時間不可以太長。

      緩存空對象有兩個問題:

      1.1、空值做緩存,意味著會有很多鍵需要更多的空間,如果是受到攻擊的話,比較有效的方法還是設置過氣時間。

      1.2、緩存層和存儲層的數據會不一致,導致向客戶展示的數據會有問題,此時可以利用消息系統或者其他方式清除掉緩存層中的空對象。

      2、所以有可能查詢的參數以hash形式儲存,在控制層先進行檢驗,不符合則丟棄,會有最常見的則是采用布隆過濾器,將可能存在的數據哈希到一個足夠強大的bitmap中,一個一定不存在的數據會被這個bitmap攔截,從而避免了對數據庫查詢的壓力。

上一篇:SpringMVC--國際化

上一篇:HDFS數據寫入流程

友情鏈接:云聯泰達OA開發
煙臺網云網絡科技有限公司 魯ICP備14027327號-3

回到頂部
天津快乐10分开奖软件 快乐双彩中奖规则 加拿大快乐8开奖记录 新疆体育彩票11选5开奖 江苏十一选五专家预测 七星彩最新预测号码 山西快乐十开奖走势图 辽宁11选五走势图官网 十一选五乐选玩法 北京赛车如何看走势 浙江体彩20选5开奖今天