sql >> Database >  >> NoSQL >> Redis

Gesorteerde lijsten in Redis gebruiken

Een gesorteerde set koppelt een rangorde aan elk item in een set.

Gesorteerde sets werken op dezelfde manier als sets, en ze gebruiken vergelijkbare commando's, behalve S is nu Z , bijvoorbeeld:

  • SADD -> ZADD
  • SPOP -> ZPOP

Maar ze zijn iets anders.

ZADD accepteert een score :

ZADD names 1 "Flavio"
ZADD names 2 "Syd"
ZADD names 2 "Roger"

Zoals je kunt zien, moeten waarden nog steeds uniek zijn, maar nu zijn ze gekoppeld aan een score.

De score hoeft niet uniek te zijn.

Items in een set worden altijd gesorteerd op de score.

Dit is erg handig om een ​​soort gegevensopslagtool te implementeren, zoals (gebruikelijk voorbeeld) een leaderboard. Of om de tijd aan te geven waarop een item is toegevoegd, met een tijdstempel.

Je kunt de score van een item krijgen met ZRANK :

ZRANK names "Flavio"

Maak een lijst van alle items in een gesorteerde set met ZRANGE , die op dezelfde manier werkt als LRANGE in lijsten:

ZRANGE names 0 -1

Voeg WITHSCORES toe om ook de score-informatie terug te geven:

U kunt de score van een item in de set verhogen met ZINCRBY .

Bekijk hier alle gesorteerde sets commando's.


  1. MongoDB-gegevensmodellering gebruiken om doorvoerbewerkingen te verbeteren

  2. Een prestatie-spiekbriefje voor MongoDB

  3. Probleem met MongoDB GridFS Bestanden opslaan met Node.JS

  4. Node.js multi-server cluster:hoe een object te delen in meerdere nodes cluster