sql >> Database teknologi >  >> NoSQL >> Redis

Redis zrevrangebyscore, sortering andet end leksikografisk rækkefølge

Score i et sorteret sæt understøtter dobbelte præcision flydende komma-tal, så muligvis en bedre løsning ville være at gemme redis-score som highscore.timestamp

for eksempel. (pseudokode)

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

Dette ville betyde, at flere spillere, der opnåede den samme høje score, også vil blive sorteret baseret på det tidspunkt, hvor de opnåede den høje score i henhold til følgende

For spiller 1...

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

For spiller 2...

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

Se dette spørgsmål for flere detaljer:Unik scoring til redis leaderboard



  1. Skriv på Slave redis db

  2. Sådan aktiverer du distribueret/clustered cache, når du bruger redis med spring data cache

  3. Apache HBase-replikeringsoversigt

  4. MongoDB-ydelse:Kørsel af MongoDB-aggregeringer på sekundære