Redis 之 快取常見問題

2021-10-05 05:40:23 字數 614 閱讀 4114

使用者查詢乙個資料,快取中沒有,資料庫中也沒有。這樣頻繁的訪問資料庫導致資料庫宕機。
解決方法:

1.請求加乙個過濾器:

布隆過濾器: 對所有可能的查詢的引數以hash形式儲存,在控制層先進行校驗,不符合則丟棄。這樣避免資料庫壓力。

布隆過濾器

2.快取空物件

查詢為空則在快取中儲存乙個空物件。

乙個key訪問量巨大,突然過期失效導致大量請求訪問資料庫。
解決方法:

1.熱點資料永不過期

2.分布式鎖(保證只有乙個執行緒去查詢後端服務,其他執行緒沒有獲取分布式鎖的許可權只能等待)

在某個時間段,快取集中過期失效。(redis宕機)
解決方法:

1.redis集群

2.限流降級(加鎖或者佇列來控制訪問資料庫執行緒數量)

3.資料預熱(使用前將資料載入到redis)

4.做二級快取,a1為原始快取,a2為拷貝快取,a1失效時,可以訪問a2,a1快取失效時間設定為短期,a2設定為長期

5.不同的key,設定不同的過期時間,讓快取失效的時間點盡量均勻。

Redis快取常見問題

這是決定在使用快取時就該考慮的問題。快取的資料在資料來源發生變更時需要對快取進行更新,資料來源可能是 db,也可能是遠端服務。更新的方式可以是主動更新。資料來源是 db 時,可以在更新完 db 後就直接更新快取。當資料來源不是 db 而是其他遠端服務,可能無法及時主動感知資料變更,這種情況下一般會選...

Redis 常見問題 快取穿透

問題描述 針對 db 中不存在的資料來源,每次請求快取和資料庫都不存在 造成後果 應用伺服器壓力變大 redis 命中率大幅度降低 資料庫壓力鉅增甚至 down 掉 該現象對於 redis 無影響,奔潰的是資料庫 造成原因 頻繁訪問不存在資料 解決方案 1.空值快取 查詢資料庫返回為 null 時也...

Redis筆記之 redis常見問題

目錄 一 key的生存時間 二 redis的淘汰機制 三 redis 快取常見問題 快取穿透 快取擊穿 快取雪崩 快取傾斜 當redis記憶體不足時,再繼續往redis中新增資料,這時會根據設定的規則觸發淘汰機制。淘汰機制主要有以下幾種 指定淘汰機制的方式 maxmemory policy 具體策略...