Redis MGET

Redis Mget



Redis Strings Explained

Strengene er den mest grunnleggende og grunnleggende datastrukturen introdusert av Redis-databasen. Redis-strengene er binære sikre sekvenser av byte. De ligner mye på vanlige strenger som er tilgjengelige i programmeringsspråk som Java og c#.net. Det viktigste er at Redis-strengene kan brukes til å lagre nesten alt du liker, for eksempel strenger, heltall, serialiserte JSON-er, XML-er og binære verdier. Siden Redis-strengdatatypen er binærsikker, kan binære objekter som bilder, videoer og dokumenter enkelt lagres ved hjelp av strenger. I tillegg kan en enkelt Redis-streng inneholde data på opptil 512 MB.







Videre er Redis-strengdatastrukturen ofte brukt i følgende brukstilfeller:



  • Buffer
    • Øktlagring
    • API-svar
    • HTML-sider
  • Disk
  • Bitmapimplementering og bitvise operasjoner

De mest brukte strengoperasjonene er SET, GET, MGET og SETNX. INCRBY- og INCRBYFLOAT-kommandoene brukes vanligvis til å administrere tellerne implementert ved hjelp av Redis-strengdatastrukturen. I denne opplæringen er MGET-kommandoen detaljert.



MGET-kommando avslørt

MGET-kommandoen brukes til å hente verdiene til de gitte Redis-nøklene. Den godtar en eller flere nøkler som argumenter. Videre opererer MGET-kommandoen på O(N)-tidskompleksitet der N er antallet spesifiserte nøkler. Syntaksen til MGET-kommandoen er som følger:





MGET-nøkkel [ nøkkel ... ]

Ved utførelse av MGET-kommandoen returnerer den en rekke verdier som er lagret på de spesifiserte Redis-nøklene. Hvis nøkkelen ikke eksisterer, returnerer den spesialverdien null. På samme måte, hvis nøkkelen ikke inneholder en strengverdi, a null verdien returneres.

Brukstilfelle: Hent alle bufrede API-svar

La oss anta et scenario der Redis-strengdatatypen brukes til å implementere en cache som inneholder de nylige API-svarene. Vi bruker SET-kommandoen til å lagre noen dummy API-svar for demonstrasjonsformål.



sett dummyhost / kunder 'ricky, bernard, mary, samuel, joe' sett dummyhost / leverandører 'jimmy, jeremy, andrew, hera' sett dummyhost / fakturaer '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Vi lagrer et par strengverdier og et serialisert JSON-objekt ved å bruke Redis-strengdatatypen.

La oss nå bruke MGET-kommandoen til å hente alle svarene i hvert API-kall samtidig.

får dummyhost / kunder dummyhost / leverandører dummyhost / fakturaer

Produksjon:

1 ) 'ricky, bernard, mary, samuel, joe'

to ) 'jimmy, jeremy, andrew, hera'

3 ) «{» fakturaer ': [{' invoice_id ': 1, ' fakturabetaling ':1000}, {' invoice_id ': to, ' fakturabetaling ':3400}]}'

Som forventet returneres verdiene i hver nøkkel som en matrise.

Spesifisere en ikke-eksisterende nøkkel

Som nevnt returnerer MGET-kommandoen den spesielle verdien null når en ikke-eksisterende nøkkel er levert. La oss spesifisere en ikke-eksisterende nøkkel kalt 'nonexistingkey' til MGET-kommandoen og utføre forrige eksempel som følger:

mget dummyhost / kunder dummyhost / leverandører dummyhost / fakturaer ikke-eksisterende nøkkel

Som du kunne se, er den siste verdien i matrisen null som er knyttet til den ikke-eksisterende Redis-nøkkelen.

Totalt sett er MGET-kommandoen en ideell kandidat når vi trenger å hente strengverdiene som er lagret på flere nøkler i en samtale i stedet for å ringe GET-kommandoen flere ganger.

Konklusjon

Oppsummert, MGET-kommandoen opererer på Redis-strengdatastrukturen for å returnere verdiene som er lagret på flere nøkler i en samtale. Den godtar en eller flere Redis-nøkler som argumenter. Som fremhevet, opererer MGET-kommandoen i O(N)-tidskompleksitet. Brukstilfellet viste deg hvordan du bruker MGET-kommandoen til å hente flere API-svar lagret på flere nøkler effektivt.