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

Redis zrevrangebyscore、辞書式順序以外の並べ替え

    ソートされたセットのスコアは倍精度浮動小数点数をサポートしているため、おそらくより良い解決策は、redisスコアをhighscore.timestamp

    として保存することです。

    例えば(擬似コード)

    highscore = 100
    timestamp = now()
    redis.zadd('myleaderboard', highscore + '.' + timestamp, playerId)
    

    これは、同じハイスコアを達成した複数のプレーヤーも、次のように、そのハイスコアを達成した時間に基づいて並べ替えられることを意味します

    プレーヤー1の場合...

    redis.zadd('myleaderboard', '100.1362345366', "Charles")
    

    プレーヤー2の場合...

    redis.zadd('myleaderboard', '100.1362345399', "Babbage")
    

    詳細については、この質問を参照してください:redisリーダーボードの一意のスコアリング



    1. Redisでキーを一括作成-ServiceStackC#

    2. 日時を使用したMongoDB/Pymongoクエリ

    3. phpからmongoDBのIDで参照されているドキュメントを削除するにはどうすればよいですか?

    4. Redis接続ECONNREFUSED127.0.0.1:6379