Redisのキャッシュ淘汰ポリシーの設定方法
Redis のメモリ管理では、設定項目「maxmemory-policy」を使ってキャッシュの削除ポリシーを設定できます。次にその設定項目に使える一般的な削除ポリシーをいくつか示します。
- オーバーフロー時に新しいデータのリクエストにエラーを返す場合、Evictポリシーを使用しないことを意味します。
- すべてのキーの中から最後に使用されたものを削除するためにLRU(最近最少使用)アルゴリズムによる排除を示します。
- LFUアルゴリズムによる淘汰を意味します。あらゆるキーの中から,使用頻度が最も低いキーを削除します。
- 揮発性LRU:LRUアルゴリズムによる削除を行うが、有効期限が設定されたキーのみで削除を実行
- volatile-lfu: LFU アルゴリズムによる削除を行うことを示しますが、有効期限を設定したキーでのみ削除を実行します。
- 揮発性 – ランダム: 無作為に削除するキーを選択します。ただし、期限が設定されているキーのみから選択します。
- 揮発性 TTL: キーの有効期限に基づいて削除を実行し、最初に期限切れになるキーから削除する必要があることを示します。
maxmemory-policy オプションを Redis の設定ファイルに設定することでこれらの削除戦略を選択できます。例: maxmemory-policy allkeys-lru は LRU アルゴリズムによる削除を示します。また、削除プロセスの際にチェックされるキーの数も maxmemory-samples オプションで設定できます。この場合、デフォルトは 5 です。