Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Redis zrevrangebyscore, Sortierung anders als die lexikografische Reihenfolge

Die Punktzahl in einem sortierten Satz unterstützt Gleitkommazahlen mit doppelter Genauigkeit, daher wäre es möglicherweise eine bessere Lösung, die Redis-Punktzahl als highscore.timestamp

zu speichern

z.B. (Pseudocode)

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

Dies würde bedeuten, dass mehrere Spieler, die denselben Highscore erreicht haben, auch basierend auf dem Zeitpunkt, zu dem sie diesen Highscore erreicht haben, wie folgt sortiert werden

Für Spieler 1...

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

Für Spieler 2...

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

Weitere Informationen finden Sie in dieser Frage:Eindeutige Bewertung für die Redis-Bestenliste