本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

如何清除到期Key

更新時間:2025-03-12 19:27
重要

本文中含有需要您注意的重要提示訊息,忽略該訊息可能對您的業務造成影響,請務必仔細閱讀。

本文介紹雲資料庫 Tair(相容 Redis)清除到期Key的預設策略以及快速清除到期Key的方法。

背景資訊

若業務中資料存在到期策略,但執行個體中的Key數量遠大於預估數量;或者執行個體在同一時間(時間段)到期大量Key,例如在1~2小時內到期數十萬、百萬Key,且該執行個體的Key數量與預估數量仍有較大差距,此時,您的執行個體中可能存在大量到期Key未被及時清理。

預設策略

雲資料庫 Tair(相容 Redis)存在以下三種自動清除到期Key的預設策略:

  • 主動到期(定期清除):系統後台會周期性地檢測,若發現已到期的Key,會將其清除。

  • 被動到期(惰性清除):當使用者訪問某個Key時,若該Key已到期,系統會將其清除。

  • 強制逐出:當Redis記憶體達到Maxmemory參數定義的上限時,將會引發操作阻塞或重要Key被逐出,甚至引發記憶體溢出(Out Of Memory),此時Redis的預設策略為volatile-lru,更多資訊請參見參數支援maxmemory-policy參數)。

說明

以上策略均無需您進行手動操作。

快速清除到期Key

下文將介紹幾種不同的快速清除到期Key的方法。

  • 在控制台的執行個體詳情頁,使用清除數據功能,可快速清除該執行個體的所有到期key,更多資訊請參見清除資料

    警告

    此方法清除速度最快,但短期內會增加執行個體的效能消耗,可能對線上業務造成影響,請謹慎執行或在業務低峰期執行。

  • 在系統營運管理(簡稱OOS)中配置定期營運任務,在業務低峰期定期刪除到期Key,更多資訊請參見通過OOS定期刪除Tair或Redis到期Key

  • 調高hz參數(Redis後台執行清除到期Key的頻率),更多資訊請參見實現Redis定期任務執行頻率的自動調整

    重要

    該值越大,CPU資源消耗越多,請謹慎操作。

    建議以10為階梯,逐步增加該參數的值,並即時觀察執行個體CPU的使用率,避免一次性調整過大造成CPU負載過高。

  • 基於業務分析,為Key設定更合理的TTL到期策略,避免無用Key長期儲存在資料庫中。

相關文檔

適用於

  • 雲資料庫 Tair(相容 Redis)

  • 本頁導讀 (1, M)
  • 背景資訊
  • 預設策略
  • 快速清除到期Key
  • 相關文檔
  • 適用於
文檔反饋