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

Redis SortedSet:2つの値のスコアが同じ場合に、アルファベット順ではなく番号順に値を取得するにはどうすればよいですか?

    ソートされたセットのメンバーのスコアが同じである場合、それらは辞書式にソートされます。 AFAIKで別の順序で並べ替える簡単な方法はありませんが、クライアント側で簡単に並べ替えることができます。または、サーバー上でそれを実行する短いLuaスクリプトを作成することもできます。

    上記のアプローチに頼ることなく、あなたが望むものを逃れることができる少しハックな方法があります。提供した例に基づいて、ランクとユーザーIDの両方が整数であると仮定すると、次のように両方の組み合わせであるスコアを使用できます。

    zadd game_rank 550006435 6435
    zadd game_rank 556088561 6088561
    zadd game_rank 550608825 608825
    

    これにより、範囲をおよび実行できるようになります ランクごとに「数値」の並べ替えが行われます(つまり、zrangebyscore game_rank 550000000 559999999




    1. 起動時にresqueワーカーを自動的に作成するにはどうすればよいですか?

    2. Redisで永続ストアを実行する方法は?

    3. Linux上のMongoDBにリモート接続をリッスンさせる

    4. NoSQLのユースケース