Tair(Redis OSS-compatible)執行個體的記憶體佔滿時,會觸發資料逐出策略(又稱為淘汰策略),以確保記憶體不會超出限制。預設的策略為volatile-lru,即從已設定到期時間的Key中,清除最少使用的Key。本文介紹Tair(Redis OSS-compatible)的逐出策略。
修改逐出策略
修改逐出策略,請登入Redis管理主控台,在參數設定中修改,詳細操作請參見設定執行個體參數。
可選的逐出策略
volatile-lru(記憶體型及Redis開源版預設):從已設定到期時間(Expire)的Key中,刪除最近最少使用的Key(LRU演算法),且不會考慮Key是否已經到期。
noeviction(持久記憶體型預設):不刪除任何Key,當記憶體達到上限時,將無法寫入新資料,資料庫會返回錯誤資訊。
volatile-lfu:從已設定到期時間(Expire)的Key中,刪除最不常用的Key(LFU演算法)。
volatile-random:從已設定到期時間(Expire)的Key中,隨機刪除一些Key。
volatile-ttl:從已設定到期時間(Expire)的Key中,根據存活時間(TTL)從小到大排序進行刪除。
allkeys-lru:從所有Key中,刪除最近最少使用的Key(LRU演算法)。
allkeys-lfu:從所有Key中,刪除最不常用的Key(LFU演算法)。
allkeys-random:從所有Key中,隨機刪除一些Key。
相關文檔
如果Key數量減少,有可能是因為資料到期被清除。Tair資料到期清除策略以及手動清除的方法,請參見Tair如何清除到期Key。