これはもっと理論的な質問かもしれませんが、私は実用的な答えを探しています。Redisのソートセットはスケールされますか?
私は、計算された値に基づいて、私のデータベースでモデルのランキングを格納するのにRedis's Sorted Setsを使用する予定。現在、私のデータセットは小さいです(250人組)。私はソートされたセットが5,000人以上のメンバーになるかどうかは分かりません。 Redisは1GBの最大値を要求し、私の値はモデルのIDなので、ソートされたセットの値のスケーラビリティについては本当に心配していません。
ZRANGEはOの時間複雑度(ログ(N)+ M)を有します。私が最も頻繁にセットから上位5位のアイテムを取得しようとしている場合、N個のセットアイテムのlog(N)が懸念されるかもしれません。
Iはまた、O(N * K)+ O(M *ログ(M))の時間計算量を有するZINTERSTOREを使用する予定。私は頻繁にZINTERSTOREを使用して、私は私の質問は2倍だと思いZRANGE 0 -1
使用して結果を取得する予定。
- Redisはスケールを5,000のメンバーに問題なくソートしましたか? 10,000? 50,000?
- ZRANGEとZINTERSTORE(ZRANGEと組み合わせて)は、大きなセットに適用するとパフォーマンスの問題を表示し始めますか?