sql >> Databáze >  >> NoSQL >> Redis

Redis zrervrangebyscore, řazení jiné než lexikografické pořadí

Skóre v seřazené sadě podporuje čísla s plovoucí desetinnou čárkou s dvojnásobnou přesností, takže možná lepším řešením by bylo uložit skóre redis jako highscore.timestamp

např. (pseudokód)

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

To by znamenalo, že více hráčů, kteří dosáhli stejného vysokého skóre, bude také seřazeno podle doby, kdy dosáhli tohoto vysokého skóre, jak je uvedeno níže

Pro hráče 1...

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

Pro hráče 2...

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

Další podrobnosti naleznete v této otázce:Jedinečné hodnocení pro redis leaderboard



  1. O kolik je Redis rychlejší než mongoDB?

  2. pomocí řetězce pro mongodb _id

  3. Otestujte prázdný řetězec v mongodb a pymongo

  4. MassTransit sága s Redis persistence dává Method Accpet nemá implementační výjimku