私は私の解決策をいくつか変更しました。私が今得たいのは、与えられた範囲のキーに対して、キーとスコアのペアです。例えば: セット= [1:3,2:5,7:8,10:1]の範囲のための [2,8]私は取得したい:2:5,7:8]Redisソートセットの最後に挿入されたアイテムのキーとスコアを取得
Redisソートされたセットから最後に挿入された(または最後の5つの)アイテムを取得するにはどうすればよいですか。私はzrange関数を試しましたが、ソートを行うときにスコアを考慮に入れています。どういうわけかそれらを挿入時間でソートすることはできますか?または、キーで?
私はリストを使用すると考えましたが、キーで要素にアクセスする必要があります。そのため、ソートされたセット(アクセス時間の複雑さが改善されています)を使用する必要があります。
ありがとうございます!
あなたが使ったスコアは何かを意味しますか?多分あなたはスコアとしてタイムスタンプを使用できますか? –
はい、スコアは重要です。私はその質問を編集した。今、私はキーレンジに基づいて間隔を取得したいと思います。 zrangeはスコア値に基づいて結果を与える。 – giliev
これを行うためにluaスクリプトを追加することもできます。要求を受け取ったら、RDMSで行うように、 'key'にインデックスを作成するような2つのzset構造にデータを入れます。あなたはスコアでも範囲を取得しますか?そうでない場合は、スコアとともにkeyinfoを追加するアルゴリズムを使用することもできます。 –