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:
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 🙂