4

特定のキーに対してのみ、Redis に LRU (最近使用されていない) エビクション ポリシーを選択させる方法はありますか? キーのセットを永続化し、十分なメモリがない場合に追い出されないようにしたい。一方、メモリが不足している場合は、別のキーのセットを自由に削除したいと考えています。

4

1 に答える 1

7

Redis には、あなたのケースに適したエビクション ポリシーがあります。maxmemory-policy を volatile-lru に設定すると、Redis は次のようになります。

LRU アルゴリズムを使用して有効期限が設定されたキーを削除する

つまり、TTL が設定されていないキーは揮発性ではないため、削除されませんが、TTL が設定されているキーは最近使用されていない順に削除されます。

実際には、volatile-lru がデフォルトのポリシーであるため、メモリがいっぱいになったときに失っても構わないと思っているキーに対して TTL が設定されていることを確認するだけです。

編集: バージョン 3.0 以降、デフォルトのエビクション ポリシーは「noeviction」です。(変更ログ)

于 2013-07-02T19:57:14.430 に答える