redis緩存擊穿和緩存穿透的區別?
區別:緩存穿透是指緩存和數據庫中都沒有數據,而用戶不斷發起請求。由于我們緩存邏輯一般都是不命中時被動寫的,并且出于容錯考慮,如果從數據庫查不到數據庫就不寫緩存直接返回,這將導致整個不存在的數據每次都要到數據庫去查詢,這樣緩存就失去意義了。
而緩存擊穿是指緩存中沒有但數據庫中有的數據(一般是緩存時間到期),這時由于并發用戶特別多,同時讀緩存沒讀到數據庫,又同時去數據庫去取數據,引起數據庫壓力瞬間增大,造成DB過大的壓力。
上一篇微信沒了怎樣恢復
redis緩存擊穿和緩存穿透的區別?
區別:緩存穿透是指緩存和數據庫中都沒有數據,而用戶不斷發起請求。由于我們緩存邏輯一般都是不命中時被動寫的,并且出于容錯考慮,如果從數據庫查不到數據庫就不寫緩存直接返回,這將導致整個不存在的數據每次都要到數據庫去查詢,這樣緩存就失去意義了。
而緩存擊穿是指緩存中沒有但數據庫中有的數據(一般是緩存時間到期),這時由于并發用戶特別多,同時讀緩存沒讀到數據庫,又同時去數據庫去取數據,引起數據庫壓力瞬間增大,造成DB過大的壓力。