Redis高階 之 刪除策略

2021-10-09 11:37:00 字數 1352 閱讀 4338

redis是一種記憶體級資料庫, 所有資料均存放在記憶體中,記憶體中的資料可以通過ttl指令獲取其狀態

資料刪除策略的目標

在記憶體占用和cpu占用之間尋找一種平衡, 顧此失彼都會造成整體redis效能的下降, 甚至引發伺服器宕機或記憶體洩露

優點 : 節約記憶體, 到時就刪除, 快速釋放掉不必要的記憶體占用

缺點: cpu壓力很大, 無論cpu此時負載量多高, 均占用cpu, 會影響redis伺服器響應時間和指令吞吐量

總結: 用處理器效能換取儲存空間(拿時間換空間)

maxmemory
占用物理記憶體的比例,預設值為0, 表示不限制. 生產環境中根據需求設定,通常設定在50%以上

maxmemory-samples
選取資料時並不會全庫掃瞄,導致嚴重的效能消耗, 降低讀寫效能. 因此採用隨機獲取資料的方式作為待檢測刪除資料

maxmemory-policy
達到最大記憶體後的, 對北挑選出來的資料進行刪除的策略

volatile-lru : 挑選最近最少使用的資料淘汰

volatile-lfu : 挑選最近使用次數最少的資料淘汰

volatile-ttl : 挑選將要過期的資料淘汰

volatile-random : 任意選擇資料淘汰

allkeys-lru : 挑選最近最少使用的資料淘汰

allkeys-lfu : 挑選最近使用次數最少的資料淘汰

allkeys-random : 任意選擇資料淘汰

no-enviction(驅逐) : 禁止驅逐資料 (redis4.0中預設策略) , 會引發錯誤oom( out of memory )

maxmemory-policy  volatile

-lru

使用 info 命令輸出監控資訊, 查詢快取 hit 和 miss 的次數, 根據業務需求調優redis配置

Redis高階 刪除策略

資料刪除策略 定時刪除 惰性刪除 定期刪除 時效性資料的儲存結構 注意,setex setnx一定不要混了,其用法和區別可參考我的另一篇文章 資料刪除策略的目標 在記憶體占用與cpu占用之間尋找一種平衡,顧此失彼都會造成整體redis效能的下降,甚至引發伺服器宕機或記憶體洩漏。1.定時刪除 優點 節...

Redis高階 刪除策略

redis中的資料特徵 redis是一種記憶體級資料庫,所有資料均存放在記憶體中,記憶體中的資料可以通過ttl指令獲取其狀態 定時刪除 惰性刪除 定期刪除 時效性資料的儲存結構 資料刪除策略的目標 在記憶體占用與cpu占用之間尋找一種平衡,顧此失彼都會造成整體redis效能的下降,甚至引發伺服器宕機...

Redis之刪除策略

redis是一種記憶體級資料庫,所有資料均存放在記憶體中,記憶體中的資料可以通過ttl指令獲取其狀態 1.定時刪除 2.惰性刪除 3.定期刪除 在記憶體占用與cpu占用之間尋找一種平衡,顧此失彼都會造成整體redis效能的下降,甚至引發伺服器宕機或 記憶體洩露 優點 節約記憶體,到時就刪除,快速釋放...