sql >> Databasteknik >  >> NoSQL >> Redis

Redis SortedSet:Hur får man värden i numerisk ordning snarare än alfabetisk ordning när två värden har samma poäng?

När en sorterad uppsättnings medlemmar har samma poäng, sorteras de lexikografiskt. Det finns inget enkelt sätt att få dem beställda annorlunda AFAIK men du kan enkelt göra sorteringen på kundens sida. Alternativt kan du laga ett kort Lua-skript som gör det åt dig på servern.

Det finns ett lite hackigt sätt att du kan komma undan med vad du vill utan att tillgripa tillvägagångssätten ovan. Baserat på exemplet du gav och antar att både rang och användar-ID är heltal, kan du använda poäng som är en kombination av båda, som så:

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

Detta låter dig göra intervall och du får "numerisk" sortering för varje rang (dvs. med zrangebyscore game_rank 550000000 559999999 ).




  1. Redis Async API:er

  2. Fördelar med MongoDB | Nackdelar med MongoDB

  3. Dynamisk databasanslutning till mongodb eller mongoose från nodejs

  4. MongoDB / Meteor / Exportera MONGO_URL till distribuerade applikationer