redis快取介紹

伏加特遇上西柚發表於2020-09-27

【1】快取處理流程

在這裡插入圖片描述
前臺請求,後臺先從快取中取資料,取到直接返回結果,取不到時從資料庫中取,資料庫取到更新快取,並返回結果,資料庫也沒取到,那直接返回空結果

【2】快取穿透

【2.1】什麼是快取穿透
快取穿透是指快取和資料庫中都沒有的資料,使用者不斷髮起請求,如發起key為“101010”的資料而key所對應的資料為不存在的資料。這時的使用者很可能是攻擊者,會不斷的發起請求攻擊資料庫。從而導致資料庫壓力過大。
限制目標
登入:限制同一個人在單位時間內訪問同一個方法的次數。
未登入:限制同IP在單位時間內訪問同一個方法的次數。

【3】快取擊穿

快取擊穿指的的快取中滅有但是資料庫中有的資料(一般是快取時間到期),這時候由於併發使用者特別多,同時讀快取沒讀到資料,又同時去資料庫讀取資料,引起資料庫壓力瞬間增大。
限制目標不同的人單位時間內對同一一個方法的訪問頻率

【4】快取雪崩

快取雪崩就是快取中資料大批量到過期時間,而查詢資料量巨大,引起資料庫壓力過大甚至down機,和快取擊穿不同的是:快取擊穿指的是併發查同一條資料,快取雪崩是不同資料都過期了,很多資料都查不到從而查詢資料庫。
限制目標:給全體快取新增不同的超時時間

相關文章