Sök…


Introduktion

Redis stöder en uppsättning datatyp som är analog med matematiska uppsättningar för modellering av data i databasen. Uppsättningar är en sammansatt datatyp som består av en grupp unika, oordnade medlemmar. Ställningar stödjer att lägga till och ta bort medlemmar, storleksoperationer samt kombinationsoperationer som tar två uppsättningar och genererar en tredje uppsättning. Set i Redis liknar Set i de flesta programmeringsspråk.

Syntax

  • SADD nyckelmedlem [medlem ...]
  • SISMEMBER nyckelmedlem
  • SCARD-tangent
  • SADD nyckelmedlem [medlem ...]

Anmärkningar

Den fullständiga dokumentationen om Redis-datatypen finns på Redis.io .

Storlek på en uppsättning

Storleken på en uppsättning kan bestämmas med hjälp av kommandot SCARD. SCARD returnerar kardinaliteten i en uppsättning eller antalet medlemmar i uppsättningen. Om jag till exempel hade en Redis-inställd my_set lagrad i databasen som såg ut (Apple, Orange, Banana), kunde jag få storleken med följande kod:

SCARD my_set

När det gäller mitt exempeluppsättning, kommer detta att returnera 3. Om användaren kör ett SCARD-kommando på en nyckel som inte finns, kommer Redis tillbaka 0.

Lägga till artiklar i en uppsättning

Det grundläggande Redis-kommandot för att lägga till ett objekt i en uppsättning är SADD. Den tar en nyckel och en eller flera medlemmar och lägger till dem i den uppsättning som lagras på den angivna tangenten.

Låt oss till exempel säga att jag ville skapa en uppsättning med artiklarna äpple, päron och banan. Jag kunde utföra något av följande:

SADD fruit apple
SADD fruit pear
SADD fruit banana

eller

SADD fruit apple pear banana

Efter att ha kört endera kommer jag att få den angivna frukten med 3 objekt.

Att försöka lägga till ett objekt som redan finns i uppsättningen har ingen effekt. Om jag försöker lägga till äpple igen efter att ha satt upp min fruktuppsättning med koden ovan:

SADD fruit apple

Redis kommer att försöka lägga äpple till fruktuppsättningen, men eftersom det redan finns i uppsättningen kommer inget att förändras.

Resultatet av SADD-kommandot är alltid antalet objekt som Redis läggs till i en uppsättning. Så att försöka lägga till äpplet kommer att returnera ett resultat av 0.

Medlemmar i Redis är skiftlägeskänsliga, så apple och Apple behandlas som två separata objekt.

Testa för medlemskap

Redis levererar SISMEMBER-kommandot för att testa om ett visst objekt redan är medlem i en uppsättning. Med SISMEMBER-kommandot kan jag testa och se om äpplet redan är medlem i min fruktuppsättning.

Om jag konstruerar min fruktuppsättning från föregående exempel kan jag kolla och se om den innehåller äpple med följande test:

SISMEMBER fruit apple

SISMEMBER kommer att returnera en 1 eftersom artikeln redan finns där.

Om jag försökte se om hund är medlem i min fruktuppsättning:

SISMEMBER fruit dog

Redis kommer att returnera en 0 eftersom hund inte finns i fruktuppsättningen.

Om en användare försöker använda SISMEMBER-kommandot med en nyckel som inte finns, kommer Redis att returnera ett 0 som indikerar inget medlemskap, men om du använder SISMEMBER med en nyckel som redan har en datatyp som inte är inställd, kommer Redis att returnera ett fel.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow