Lister er noen av de vanligste og verdifulle typene i Redis. Ikke bare fordi de gir en bedre minneopplevelse sammenlignet med andre typer som hasj, men fordi de er enkle å bruke og administrere.
La oss starte med det grunnleggende.
Redis opprette liste
Siden Redis er en nøkkelverdi-database, må vi lage en nøkkel for å holde en liste over elementer.
Redis bruker begrepet venstre og høyre for å legge til og fjerne elementer. Så for eksempel for å legge til et element til venstre for listen, bruker vi LPush -kommandoen. For riktig innsetting, bruk RPush -kommandoen.
Ta eksemplet vist nedenfor:
127.0.0.1: 6379> LPush -språk Python
(Heltall) 1
I eksemplet ovenfor bruker vi LPush -kommandoen for å opprette en ny nøkkel som holder ett element på listen.
Etter opprettelse kan vi legge til elementer som vist i eksemplet -kommandoene nedenfor:
127.0.0.1: 6379> LPush -språk JavaScript Ocaml Elixir C C C C C C C C C C C C C C C C C C C C C C C C C++
Merk: Du kan også bruke RPUSH -kommandoen, som vist i eksemplet nedenfor:
127.0.0.1: 6379> RPUSH -språk SQL Java C#
Husk at innsettingsrekkefølgen betyr noe i en liste.
Tips: En enkelt liste i Redis kan inneholde opptil 4 milliarder elementer.
Redis henter listeartikler
For å hente elementene som er lagret i en liste, bruker vi Lrange -kommandoen etterfulgt av start- og sluttforskyvningsverdiene. Forskyvningen representerer i dette tilfellet indeksen for elementet på listen.
Indeksering for en Redis -liste starter 0.
For å hente alle elementer fra indeks 0, kan vi for eksempel kjøre kommandoen:
127.0.0.1: 6379> Lrange språk 0 -1
Passering av listen Start forskyvning som 0 og den siste forskyvningen som -1 returnerer alle elementer på listen.
Kommandoen skal returnere elementene på listen som vist:
1) “C ++”
2) “C”
3) “Elixir”
4) “Ocaml”
5) “JavaScript”
6) “Python”
7) “SQL”
8) “Java”
9) “C#”
Redis LPOP og BLPOP -kommandoer
Når det gjelder å fjerne elementer i en liste, vil du møte to hovedkommandoer:
LPOP og BLOP.
Merk: Du kan lære om LREM -kommandoen i denne artikkelen <- click here.
LPOP -kommandoen vil fjerne og returnere det første elementet på listen. Et eksempelbruk er som vist nedenfor:
127.0.0.1: 6379> LPOP -språk
"C ++"
Siden LPOP -kommandoen returnerer den faktiske verdien fjernet, er den egnet for å spore endringer i applikasjonen din.
BLPOP -kommandoen er derimot den blokkerende versjonen av LPOP -kommandoen. Det fjerner og returnerer det første elementet i en liste. I motsetning til LPOP -kommandoen, blokkerer den imidlertid forbindelsen for en spesifikk varighet til en er tilgjengelig.
Tenk på eksemplet som er vist nedenfor:
127.0.0.1: 6379> Blpop Mykey 10
Vi gir en ikke-eksisterende nøkkel til BLPOP-kommandoen i eksemplet over ovenfor. Vi spesifiserer også blokkeringsvarigheten som 10 sekunder. Hvis det ikke er noe tilgjengelig element i den spesifiserte listen etter forløpt, returnerer kommandoen null.
Kommandoen over skal komme tilbake (etter 10 sekunder).
127.0.0.1: 6379> Blpop Mykey 10
(null)
(10.05S)
Hvis elementet eksisterer i den spesifiserte listen, sletter det og returnerer det som vist:
127.0.0.1: 6379> BLPOP -språk 10
1) "Språk"
2) "C"
I dette tilfellet returnerer kommandoen nøkkelen som den sletter et element og det faktiske elementet fjernet.
Det venter ikke på at den spesifiserte varigheten blir gått.
Konklusjon
Denne opplæringen dekket Redis -lister og hvordan du bruker dem i databasen din. Vi diskuterte: Opprette en Redis -liste, legge til elementer, hente listeelementer og fjerne nøkler fra en liste.
Takk for at du leste!!