redis故障時的一些概念

2022-08-19 05:00:11 字數 458 閱讀 1669

概念

訪問乙個不存在的key,快取不起作用,請求會穿透到db,流量大時db會掛掉。

解決方案

採用布隆過濾器,使用乙個足夠大的bitmap,用於儲存可能訪問的key,不存在的key直接被過濾;

訪問key未在db查詢到值,也將空值寫進快取,但可以設定較短過期時間。

概念大量的key設定了相同的過期時間,導致在快取在同一時刻全部失效,造成瞬時db請求量大、壓力驟增,引起雪崩。

解決方案

可以給快取設定過期時間時加上乙個隨機值時間,使得每個key的過期時間分布開來,不會集中在同一時刻失效。

概念乙個存在的key,在快取過期的一刻,同時有大量的請求,這些請求都會擊穿到db,造成瞬時db請求量大、壓力驟增。

解決方案

在訪問key之前,採用setnx(set if not exists)來設定另乙個短期key來鎖住當前key的訪問,訪問結束再刪除該短期key。

Redis作為快取時的一些使用經驗

redis作為nosql資料庫,經常用作快取,所以推薦將那些經常查詢的資料存入redis中方便下次快速獲取。但redis沒有像關係型資料庫那樣擁有結構化的查詢語言,如果快取了很多資料,想從中獲取滿足某些條件的資料時,該如何做呢?如果把這些海量資料從redis裡拿出來,逐個遍歷篩選出滿足條件的資料,這...

X Window System的一些概念

linux unix系統下的顯示模式都是採用x的架構,這裡說明一下,其實我們常說的x其實不是現實裝置,而是現實協議,xserver和xclient通過x協議進行互動,由xserver對目標裝置進行顯示,然後xserver把中間的資訊和使用者反饋的資訊傳送給xclient。可以這樣形容 xserver...

鎖的一些概念

作業需要乙個目標之前分配目標,這樣在用目標是不用再等,可保證完成所需功能,這叫目標的分配。可用alcobj命令預先分配目標,用dlcobj解除分配 目標是根據要他們做什麼來分配的 讀或者修改 和他們是否可以共享。檔案和成員總是以 shrrd來分配。而資料用規定所狀態來分配鎖的級別。鎖狀態標誌使用的目...