2017-08-01 17 views
0

私は、ユーザーの周りに興味のある情報を保存して取得し、それをフィードとして表示しています。並べ替え順が異なる

私は指定された半径R(WITHDISTance)ですべてのリストをフェッチする必要があると言いますが、距離ではなく逆順でソートされます(redis GEORADIUSコマンドのように)。具体的には、最新のリスト(半径Rで)は、最も遠いものの最上位になければなりません。

ジオセットだけでも何とかできますか?そうでない場合、私はredisデータ構造のコンボを使ってこれをどのように達成できますか?

あなたは半径のクエリを実行し、スコアがタイムスタンプされている同じ要素が、を持つ別のソートセットで結果を交差する必要がありますいくつかのクリーンで効率的なアプローチ

答えて

1

を探しています。次に、結果の交差を逆の順序でページします。

+0

ありがとうございました。この方法を考えましたが、距離情報をどうやって維持するのですか? GEORADIUSには別のZSETに距離を格納するSTOREDISTオプションがありますが、ページ内の各要素についてその情報を取得する必要があります。距離情報を維持するためのより簡単で良い方法がありますか – Vijith

+0

いいえ - zsetに1つのデータムを保存し、もう一方をフェッチする必要があります –

関連する問題