Redis5 0資料淘汰策略

2021-10-08 20:48:00 字數 542 閱讀 6563

redis5.0為我們提供了八個不同的記憶體置換策略。很早之前提供了6種。

(1)volatile-lru:從已設定過期時間的資料集中挑選最近最少使用的資料淘汰。

(2)volatile-ttl:從已設定過期時間的資料集中挑選將要過期的資料淘汰。

(3)volatile-random:從已設定過期時間的資料集中任意選擇資料淘汰。

(4)volatile-lfu:從已設定過期時間的資料集挑選使用頻率最低的資料淘汰。

(5)allkeys-lru:從資料集中挑選最近最少使用的資料淘汰

(6)allkeys-lfu:從資料集中挑選使用頻率最低的資料淘汰。

(7)allkeys-random:從資料集(server.db[i].dict)中任意選擇資料淘汰

(8) no-enviction(驅逐):禁止驅逐資料,這也是預設策略。意思是當記憶體不足以容納新入資料時,新寫入操作就會報錯,請求可以繼續進行,線上任務也不能持續進行,採用no-enviction策略可以保證資料不被丟失。

這八種大體上可以分為4中,lru、lfu、random、ttl。

redis資料淘汰策略

在 redis 中,允許使用者設定最大使用記憶體大小 server.maxmemory,在記憶體限定的情況下是很有用的。譬如,在一台 8g 機子上部署了 4 個 redis 服務點,每乙個服務點分配 1.5g 的記憶體大小,減少記憶體緊張的情況,由此獲取更為穩健的服務。redis 記憶體資料集大小上...

redis資料淘汰策略

redis 每服務客戶端執行乙個命令的時候,會檢測使用的記憶體是否超額。如果超額,即進行資料淘汰。在 redis 中,允許使用者設定最大使用記憶體大小 server.maxmemory,在記憶體限定的情況下是很有用的。譬如,在一台 8g 機子上部署了 4 個 redis 服務點,每乙個服務點分配 1...

redis資料淘汰策略

在 redis 中,允許使用者設定最大使用記憶體大小 server.maxmemory,在記憶體限定的情況下是很有用的。譬如,在一台 8g 機子上部署了 4 個 redis 服務點,每乙個服務點分配 1.5g 的記憶體大小,減少記憶體緊張的情況,由此獲取更為穩健的服務。redis 記憶體資料集大小上...