redis                
            Sorterade uppsättningar
        
        
            
    Sök…
Introduktion
Datatypen Sorted Set i Redis är en beställd version av Set-datatypen. En Redis sorterad uppsättning består av en samling unika medlemmar. Varje medlem i den sorterade uppsättningen kan betraktas som ett par bestående av medlemmen och en poäng. Betyget används för att beställa medlemmarna i uppsättningen i stigande ordning.
Syntax
- ZADD-nyckel [NX | XX] [CH] [INCR] poängmedlem [poängmedlem ...]
 - ZCARD-knapp
 - ZCOUNT nyckel min max
 - ZLEXCOUNT nyckel min max
 
Anmärkningar
Den officiella dokumentationen för Sorterade uppsättningar finns på webbplatsen Redis.io .
Sorterade uppsättningar kallas ibland zsets. Om du använder TYPE-kommandot på en sorterad inställningsnyckel kommer värdet zset att returneras.
Lägga till objekt i en sorterad uppsättning
Redis tillhandahåller ZADD-kommandot för att lägga till objekt i en sorterad uppsättning. Den grundläggande formen för ZADD-kommandot är att ange uppsättningen, objektet som ska läggas till och dess poäng. Om jag till exempel ville konstruera en beställd uppsättning av min favoritmat (från minst till de flesta), kunde jag använda någon av:
zadd favs 1 apple
zadd favs 2 pizza
zadd favs 3 chocolate
zadd favs 4 beer
 eller alternativt:
zadd favs 1 apple 2 pizza 3 chocolate 4 beer
 ZADD-funktionen fungerar mycket på samma sätt som den osorterade inställningsfunktionen SADD. Resultatet av ZADD-kommandot är antalet objekt som lagts till. Så efter att jag skapat min set som ovan, om jag försökte ZADD öl igen:
ZADD favs 4 beer
 Jag skulle få ett 0-resultat, om jag bestämde mig för att jag gillar choklad bättre än öl, skulle jag kunna utföra:
ZADD favs 3 beer 4 chocolate
 för att uppdatera mina preferenser, men jag skulle fortfarande få ett 0-resultat eftersom både öl och choklad redan finns i uppsättningen.
Räkna objekt i en sorterad uppsättning
Redis ger tre kommandon för att räkna objekten inom en sorterad uppsättning: ZCARD, ZCOUNT, ZLEXCOUNT.
ZCARD-kommandot är det grundläggande testet för kardinaliteten i en uppsättning. (Det är analogt med kommandot SCARD för uppsättningar.). ZCARD returnerar antalet medlemmar i en uppsättning. Utför följande kod för att lägga till objekt i en uppsättning:
zadd favs 1 apple
zadd favs 2 pizza
zadd favs 3 chocolate
zadd favs 4 beer
 kör ZCard:
zcard favs
 ger ett värde på 4.
Med ZCOUNT- och ZLEXCOUNT-kommandona kan du räkna en delmängd av objekten i en sorterad uppsättning baserad på ett värdeintervall. ZCOUNT låter dig räkna objekt inom ett visst intervall av poäng och ZLEXCOUNT låter dig räkna antalet objekt inom ett visst lexografiskt intervall.
Använd vår uppsättning ovan:
zcount favs 2 5
 skulle returnera en 3, eftersom det finns tre artiklar (pizza, choklad, öl) som har poäng mellan 2 och 5 inklusive.
ZLEXCOUNT är utformat för att arbeta med uppsättningar där varje objekt har samma poäng, tvingar och beställer på namnnamnen. Om vi skapade en uppsättning som:
zadd favs 1 apple
zadd favs 1 pizza
zadd favs 1 chocolate
zadd favs 1 beer
 vi kan använda ZLEXCOUNT för att få antalet element i särskilt lexografiskt intervall (detta görs genom bytevis jämförelse med funktionen memcpy).
zlexcount favs [apple (chocolate
 skulle returnera 2, eftersom två element (äpple, öl) faller inom intervallet äpple (inklusive) och choklad (exklusivt). Vi kan alternativt göra båda ändarna inkluderande:
zlexcount favs [apple [chocolate
 och få resultatet 3.