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效能的下降,甚至引發伺服器宕機或 記憶體洩露 優點 節約記憶體,到時就刪除,快速釋放...