Bruke lister i Redis

Bruke lister i Redis
En liste i Redis refererer til en samling av strengverdier som er sortert etter innsatsrekkefølge. I Redis kan en liste inneholde opptil 4 milliarder elementer. Redis bruker begrepet hode og hale for å administrere en liste, da vi vil dekke i denne guiden.

Ved hjelp av denne guiden lærer du hvordan du jobber med lister i Redis, inkludert å opprette, sette inn og slette verdier.

I denne guiden har vi testet alle kommandoene på den nyeste versjonen av Redis. Vi anbefaler at du gjør det samme og bruker den innfødte redis cli. Å gjøre det vil sikre maksimal kompatibilitet og la deg se lignende utganger som i denne guiden.

Grunnleggende - Opprette en liste i Redis

Å lage en liste i Redis er litt mer enn å lage et enkelt nøkkel- og verdipar. Det er bra å merke seg at en nøkkel bare kan holde en enkelt liste.

Som nevnt bruker Redis begrepet hode og hale eller venstre og høyre for å administrere en liste.

Det er to måter du kan legge til elementer i en liste:

  1. Lpush
  2. Rpush

LPush -kommandoene legger til det spesifiserte nye elementet i listenes hode (eller til venstre). RPUSH -kommandoen vil derimot legge til det nye listeelementet til halen (eller høyre) på den spesifiserte listen.

Du bruker to hovedkommandoer for å opprette en ny liste eller legge til elementer i en eksisterende liste.

La oss ta noen få eksempler.

For å lage en enkel liste som heter databaser, kan vi bruke kommandoen:

127.0.0.1: 6379> LPush -databaser MongoDB
(Heltall) 1

Merk: Du kan også bruke RPUSH til å utføre den samme operasjonen.

Både LPUSH- og RPUSH -kommandoer vil returnere en heltallverdi som indikerer antall elementer på listen.

Ta følgende eksempler for å legge til flere elementer på listen.

127.0.0.1: 6379> LPush -databaser MongoDB
127.0.0.1: 6379> LPush -databaser Redis
127.0.0.1: 6379> RPush Databases PostgreSql
127.0.0.1: 6379> RPUSH -databaser mysql
127.0.0.1: 6379> LPush -databaser kakerlakkdb
(Heltall) 5

Du kan legge til flere elementer i en liste i en enkelt kommando. For eksempel kan vi erstatte kommandoene ovenfor for en som:

127.0.0.1: 6379> LPush Databases MongoDB Redis PostgreSql MySQL Cockroachdb
(Heltall) 5

Det samme tilfellet gjelder RPush -kommandoen.

Redis gir også LPUSHX- og RPUSHX -kommandoene. De brukes lik LPUSH- og RPUSH -kommandoene; De kan imidlertid ikke opprette en liste. Nøkkelen må eksistere før du setter inn elementer med LPUSHX og RPUSHX -kommandoer.

127.0.0.1: 6379> RPUSHX -databaser Firestore
127.0.0.1: 6379> LPUSHX -databaser MariaDB

Oppdater et listeelement

For å endre en verdi av et element i en Redis -liste, bruk LSET -kommandoen. Kommandoen tar listen, indeks for det gamle elementet for å oppdatere, og den nye verdien.

For å endre verdien av varen ved indeks 0, kan vi for eksempel gjøre:

127.0.0.1: 6379> LSET -databaser 0 Sqlite
Ok

Kommandoen returnerer strengen “OK” hvis kommandoen kjører vellykket.

Hente elementer fra en liste

For å hente elementer fra en liste, bruk Lrange -kommandoen. Kommandoen tar en start- og stoppindeks og returnerer verdiene innenfor det angitte området.

For eksempel:

127.0.0.1: 6379> Lrange -databaser 0 5
1) "Sqlite"
2) "Kakerlakkdb"
3) "MySQL"
4) "PostgreSql"
5) "Redis"
6) "Mongodb"

Du kan bruke et negativt område. For eksempel representerer -1 det siste elementet på listen, og -4 representerer det fjerde til siste element.

Eksempel:

127.0.0.1: 6379> Lrange -databaser -4 -1
1) "PostgreSql"
2) "Redis"
3) "Mongodb"
4) "Firestore

Hvis du vil få et enkelt element på listen, bruk Lindex -kommandoen etterfulgt av målindeksen for varen for å få.

For eksempel:

127.0.0.1: 6379> Lindex -databaser 2
"Mysql"

Husk at indeksering starter kl. 0.

Hvis du vil vite antall elementer i en liste, bruk llen -kommandoen.

127.0.0.1: 6379> LLEN -databaser
(Heltall) 7

Kommandoen returnerer et heltall som representerer antall elementer i listen.

Slette elementer fra en liste

Hvis du vil fjerne et element fra en liste, bruk LREM -kommandoen. Kommandoen tar tellingen og en verdi å fjerne.

Kommandoen vil fjerne den første forekomsten som samsvarer med et spesifikt mønster som standard.

127.0.0.1: 6379> LREM -databaser 1 MySQL

Du kan også bruke LPOP- og RPOP -kommandoene for å fjerne elementer fra en liste. Kommandoene fjerner henholdsvis de venstre og høyre elementene på listen.

127.0.0.1: 6379> LPOP -databaser
"Sqlite"
127.0.0.1: 6379> RPOP -databaser
"Firestore"

Begge kommandoene fjerner og returnerer verdien på det fjernet elementet.

Lukking

Ved hjelp av denne guiden lærte du hvordan du jobber med liste i Redis. Du kan sjekke dokumentasjonen for å lære mer om listekommandoer og hvordan de fungerer.

Takk for at du leste 🙂