Hvordan bruke Redis Scan

Hvordan bruke Redis Scan
Denne guiden vil lære deg hvordan du jobber med Redis Scan -kommandoen. Skannekommandoen brukes til å iterere gjennom nøklene i en spesifikk Redis -database.Skannekommandoen i Redis er en markørbasert iterator. Derfor vil Redis -serveren returnere en oppdatert markør på hver kommando -samtale.

Hva er Redis Scan?

Som nevnt er skanningen i Redis en markørbasert iterator som lar deg iterere over settet med nøkler i en spesifikk Redis-database. Kommandoen aksepterer markørposisjonen som argument.

Serveren returnerer en oppdateringsmarkør hver gang kommandoen kalles. Å bruke den oppdaterte markøren som et argument i følgende kommandoanrop kan brukes.

Iterasjonen starter når markøren er i posisjon 0 og stopper når markøren kommer fra serveren er på 0.

Bruke skanning - eksempler

La oss ta noen få eksempler for å illustrere hvordan skannekommandoen fungerer. Begynn med å lage en samling av nøkler og verdier som vist i kommandoen nedenfor:

127.0.0.1: 6379> MSET Key1 Value1 Key2 Value2 Key3 Value3 Key4 Value4 Key5 Value5 Key6 Value6
Ok

Eksemplet ovenfor setter inn et sett med dummy nøkkel og verdipar for illustrasjonsformål.

Nå som vi har en database med nøkler og verdier, kan vi bruke skannekommandoen til å iterere over tastene.

Kommandoen kan utføres som:

127.0.0.1: 6379> skanning 0
1) "0"
2) 1) "Key4"
2) "RQ: ferdig: standard"
3) "Key5"
4) "Key6"
5) "Key2"
6) "Key3"
7) "RQ: Køer"
8) "Key1"
9) "Kapteiner"

Når vi har kjørt kommandoen, vil den iterere over nøklene i databasen og returnere alle tilgjengelige nøkler.

Merk: Scan -kommandoen vil bare returnere de ti første tastene i databasen. Siden skannekommandoen kan hente de ti første elementene i vårt eksempel, returnerer den en heltallverdi på 0, som vist ovenfor.

La oss ta et eksempel der markøren kom tilbake fra serveren ikke er 0. Hvis vi legger til tastene som vist i kommandoen nedenfor:

MSET Key7 Value7 Key8 Value8 Key9 Value9 Key10 Value10 Key11 Value11 Key12 Value12

Hvis vi kjører på nytt Scan -kommandoen, vil den returnere den siste posisjonen der markøren stoppet.

127.0.0.1: 6379> skanning 0
1) "13"
2) 1) "Key4"
2) "Key9"
3) "RQ: ferdig: standard"
4) "Key5"
5) "Key6"
6) "Key8"
7) "Key2"
8) "Key3"
9) "Key10"
10) "Key7"
11) "RQ: Køer"

I dette eksemplet er markørposisjonen 13. Vi kan bruke denne posisjonen til å skanne de gjenværende nøklene.

127.0.0.1: 6379> skanning 13
1) "0"
2) 1) "Key11"
2) "Key1"
3) "Key12"
4) "Kapteiner"

Siden kommandoen henter alle nøklene, i dette tilfellet returnerer den markøren i posisjon 0.

Skanne alternativer

Scan -kommandoen godtar to hovedalternativer:

  1. TELLE
  2. KAMP

Skannetall

Count -kommandoen lar deg endre hvor mange nøkler som skannekommandoen vil hente per samtale. Som standard henter skannekommandoen ti nøkler.

Vi kan imidlertid endre dette ved å sette tellekommandoen.

127.0.0.1: 6379> skanning 0 teller 15

Eksempelutgang fra kommandoen ovenfor er som vist:

1) "0"
2) 1) "Key4"
2) "Key9"
… AVKORTET…
14) "Key12"
15) "Kapteiner"

I dette eksemplet setter vi markøren til å returnere 15 elementer i stedet for standard 10. Siden det ikke er mer enn 15 nøkler i databasen, returnerer serveren nøkkelposisjonen på 0.

Skannekamp

Matchalternativet lar deg skanne etter nøkler som samsvarer med et spesifikt mønster. For å returnere alle nøklene som samsvarer med K*, kan vi for eksempel gjøre.

127.0.0.1: 6379> Scan 0 Match k*
1) "13"
2) 1) "Key4"
2) "Key9"
3) "Key5"
4) "Key6"
5) "Key8"
6) "Key2"
7) "Key3"
8) "Key10"
9) "Key7"

Kommandoen ovenfor returnerer bare nøklene som samsvarer med det spesifiserte mønsteret.

Du kan bruke match- og tellealternativene i samme kommando.

127.0.0.1: 6379> Scan 0 Match K* Count 15
1) "0"
2) 1) "Key4"
2) "Key9"
---AVKORTET---
11) "Key1"
12) "Key12"

Konklusjon

Denne guiden gir deg det grunnleggende bruken og eksempler på å bruke Redis Scan -kommandoen. Skanningen lar deg iterere gjennom tastene til databasen ved hjelp av en markørposisjon. Du kan sjekke dokumentasjonen for mer skannevariasjoner.