sql >> データベース >  >> NoSQL >> Redis

ソートされたセットRedisをどのように組み合わせるのですか?

    これを行うにはいくつかの方法がありますが、正しい方法は何をしようとしているかによって異なります。例:

    1. FEED:USER:nのコードでZRANGEBYSCORE(またはZREVRANGEBYSCORE)を使用できます キーを押して、クライアントの返信を「マージ」します
    2. 関連するキーに対してZUNIONSTOREを実行してから、クライアントからの結果に対してZRANGEBYSCOREを実行できます。
    3. ただし、「フィード」が大きい場合は、#2のフローを逆にする必要があります。最初に範囲、次にユニオンです。
    4. Luaスクリプトを使用して、同様のタイプの処理を完全にサーバー側で実行することもできます。

    編集:さらなる説明

    再。 1-マージは、ZRANGEBYSCOREから取得した結果に対してクライアント側で実行することも、サーバー側のLuaスクリプトを使用して実行することもできます。 WITHSCORESを使用してタイムスタンプを取得し、そのタイムスタンプをマージ/ソートします。このコードを実行する場所の選択に関係なく(おそらくデータのローカリティにはLuaを使用します)、実装はあなた次第です-それについてサポートが必要な場合はlmk :)




    1. Meteor、1対多の関係、およびPublishのクライアント側コレクションにのみフィールドを追加しますか?

    2. Flask-SocketIOredisサブスクライブ

    3. MongoDBスキーマ設計:常にスキーマがあります

    4. MongoDb C#GeoNearクエリ構築