REDISの淘汰戦略の構成方法
Redisの淘汰ポリシーは以下の方法で設定できます:
- maxmemory-policy:Redisの設定ファイルでは、maxmemory-policyパラメータを設定することで退避ポリシーを指定できます。オプションの値は次のとおりです。
- volatile-lru:最近あまり使われていないキーを、期限が設定されたキーの中から優先的に削除する。
- allkeys-LRU: 失効時間を無視し、最近あまり使用されていないキーを優先的に削除しました。
- volatile-random: 指定された有効期限のあるキーの中からランダムに削除します。
- 期限を無視して、ランダムにキーを削除する
- volatile-ttl: キーに有効期限が設定されている場合に、古い日付のキーから優先的に削除する。
- エヴィクションを行わず、メモリ不足時にはすべての書き込み操作でエラーが発生します。
- 例:maxmemory-policy allkeys-lru
- maxmemory-samples:Redisの設定ファイルで、maxmemory-samplesパラメータを設定することで淘汰戦略のサンプル数を指定できます。デフォルト値は5で、5つのキーをランダムに選んで比較し、未使用期間が最も長いキーを淘汰します。状況に応じて値を調整できます。
- maxmemory-samples 10
- maxmemory:Redis の設定ファイルでは、maxmemory を設定することで Redis サーバーの最大のメモリ制限を指定できます。制限に達すると、Redis は退避ポリシーに基づいてデータの退避を実行します。
- maxmemory 100000000
Redis の淘汰ポリシーで volatile-lru、volatile-random、volatile-ttl の 3 つは、有効期限が設定されている key にのみ適用されることに注意してください。一方、allkeys-lru と allkeys-random は、すべての key に適用されます。