Redis Blpop

Redis Blpop
Denne artikkelen vil lære å bruke Redis Blpop -kommandoen til å administrere lister. I Redis er en liste ikke annet enn en samling strengverdier sortert etter innsettingsrekkefølge.

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!!