についてはLRUの実装は、誰かがRedisのLRUベースの立ち退き/削除の内部について知っています。のRedisの内部 - サンプリング
どうRedisのは、古い(あまり使用)キーは(場合には、我々は揮発性の鍵を持っていないと我々はTTLの有効期限を設定していない)最初に削除されていることを確認しますか?
私は、Redisがキーを削除するために使用するサンプルサイズを管理する設定パラメータ "maxmemory-samples"を持っていることを知っています。したがって、サンプルサイズを10に設定すると、これらの中で。私にはわからない何
は、これらのキーの完全にランダムにサンプリングするかどうかである、またはそれは何らかの形でそれが自動的に「古い/使用頻度の低い世代」の同等からサンプリングすることができますメカニズムを持っているのですか?
私が知る限り、それはランダムにキーをサンプリングします。 –
これは私がhttp://antirez.com/post/redis-as-LRU-cache.htmlで見つけたものです。「サンプル3」アルゴリズムを使用することの全ポイントはメモリを節約することです。私はこれが精度よりもはるかに価値があると思っています。特に、この無作為アルゴリズムはあまりよく理解されていないためです。例:わずか3つのオブジェクトでサンプリングすると、999のデータセットから666個のオブジェクトが失効し、*完璧な* LRUアルゴリズムと比較してエラー率はわずか14%です。 残りの14%には非常に使用されている要素の範囲にある要素はほとんどありません。だから、メモリの利得は、疑いの余地なく精度を支払うでしょう。 –
これを回答として投稿し、それを受け入れる必要があります。 :-) –