Redis Range Queries

Redis Range Queries
Redis har forskjellige datatyper for å lagre og administrere flere datatyper i applikasjonene dine. Denne opplæringen gir deg grunnleggende rekkevidde -kommandoer for å hente verdier av en bestemt type innen et område.

Husk at denne opplæringen ikke er en introduksjon til Redis -datatyper. Sjekk opplæringen vår om emnet for å lære mer.

Vi har testet kommandoene og eksemplene på den nyeste versjonen av Redis. Vi anbefaler å gjenskape et lignende miljø for å få maksimal kompatibilitet. For eksempel kan kommandoer som GetRange ikke fungere i Redis versjon 2.0 og lavere.

GetRange Command

Kommandoen for første rekkevidde vi vil se på er GetRange -kommandoen. Kommandoen tar en nøkkel med en strengverdi og returnerer en substring av verdien som bestemt av start- og sluttindekser.

Kommandoenes syntaks er som vist:

GetRange Key Start End

Begynn med å opprette en enkel nøkkel og verdi i en Redis -database som vist i kommandoen nedenfor:

127.0.0.1: 6379> Sett MyString "Hei, verden fra Redis!""

Neste, for å få en substring fra indeks 3 til indeks 10, kan vi gjøre:

127.0.0.1: 6379> GetRange MyString 3 10
"Lo, worl"

Merk at indeksen for strengen ved indeks 0 fremover. Whitespace -tegn er også inkludert som gyldige tegn.

Du kan også negativt område for å få de siste elementene i strengen. For eksempel for å få de tre siste indeksene, kan vi gjøre.

127.0.0.1: 6379> GetRange MyString -3 -1
"er!""

Ovennevnte syntaks får de tre siste tegnene i strengverdien.

Lrange -kommando.

Du vil ofte komme over denne kommandoen når du jobber med lister i Redis. Lrange -kommandoen returnerer et spesifisert antall elementer i en Redis -liste.

Det tar nøkkelen på listen og en start- og stoppverdi. Tilsvarende starter indeksering av elementer i en Redis -liste ved indeks 0.

Begynn med å lage en enkel liste som vist i eksemplet -kommandoen nedenfor:

LPUSH -databaser MongoDB MySQL PostgreSql Redis Firestore Cockroachdb Faunadb DocumentDB
(Heltall) 8

Kommandoen over oppretter en Redis -liste som heter databaser og legger til verdiene som er spesifisert til den.

Du kan bruke Lrange -kommandoen for å få elementer innenfor et bestemt område. For å få elementer fra indeks 0 til 5, kan vi for eksempel gjøre.

127.0.0.1: 6379> Lrange -databaser 0 5
1) "DocumentDB"
2) "Faunadb"
3) "Kakerlakkdb"
4) "Firestore"
5) "Redis"
6) "PostgreSql"

Du vil merke at elementene starter med det siste innsatte elementet til det første. Listen er ganske enkelt en samling av elementer som er sortert etter innsettingsordre.

Du kan også bruke en negativ indeks for å få det siste elementet fra en liste.

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

Kommandoen returnerer elementene fra halen på listen.

Hvis du henter et område der det ikke er tilgjengelig elementer, vil kommandoen returnere en tom liste som:

127.0.0.1: 6379> Lrange -databaser 10 20
(tom liste eller sett)

Zrange -kommando

Den neste rekkevidde -kommandoen du må være kjent med er Zrange -kommandoen. Ved hjelp av Zrange -kommandoen kan du hente elementer innenfor et bestemt område fra et sortert sett.

Kommandoen tar den sorterte set -tasten, en start- og stoppindeksverdi. Den returnerer alle elementene innenfor det spesifiserte området sortert etter poengsummen fra det laveste til det høyeste.

Kommandoenes syntaks kan uttrykkes som:

Zrange Key Start Stop

For å se hvordan Zrange -kommandoen fungerer, kan du starte med å lage en sortert liste ved å bruke kommandoer som vist:

127.0.0.1: 6379> Zadd -språk 1 Rust 2 Python 3 GO 5 C 4 C ++ 6 JavaScript 10 Java
(Heltall) 7

Kommandoen ovenfor legger til verdiene og deres tilsvarende score til det sorterte settet "språk".

For å hente gjenstander i settet innenfor et spesifikt poengsum, bruk Zrange -kommandoen som vist:

127.0.0.1: 6379> Zrange språk 1 5
1) "Python"
2) "Gå"
3) "C ++"
4) "C"
5) "JavaScript"

Kommandoen returnerer alle elementene innenfor det området sortert etter scoreverdi.

For å vise elementene og deres tilsvarende scoreverdi, bruk alternativet med scores som:

127.0.0.1: 6379> Zrange språk 0 5 Withscores
1) "Rust"
2) "1"
3) "Python"
4) "2"
5) "Gå"
6) "3"
---AVKORTET---

Kommandoen skal returnere elementet og dets poengsum.

Zrevrange

Zrevrange -kommandoen fungerer på samme måte som Zrange -kommandoen. Imidlertid returnerer det verdiene i omvendt rekkefølge, i.e., Poengsummen starter fra det høyeste til det laveste.

Eksempel

127.0.0.1: 6379> Zrevrange språk 0 5
1) "Java"
2) "JavaScript"
3) "C"
4) "C ++"
5) "Gå"
6) "Python"

I dette eksemplet starter resultatene fra den høyeste poengsum til lavest verdi. Du kan aktivere score ved å bruke alternativet Withscores.

127.0.0.1: 6379> Zrevrange språk 0 5 Withscores
1) "Java"
2) "10"
3) "JavaScript"
4) "6"
5) "C"
6) "5"
7) "C ++"
8) "4"
9) "Gå"
10) "3"
11) "Python"
12) "2"

Legg merke til hvordan poengene er i omvendt rekkefølge sammenlignet med Zrange -kommandoproduksjonen.

Konklusjon

Denne guiden gir deg en gjennomgang av noen av de grunnleggende rekkevidde -kommandoene i Redis. Husk at det er andre rekkevidde -kommandoer som Ltrim, Xrange og mer. Tenk på dokumentasjonen for kommandoer som ikke er diskutert i denne guiden.