Redis MGET

Redis Mget



Redis Strings Explained

Strängarna är den mest grundläggande och grundläggande datastrukturen som introduceras av Redis-databasen. Redis-strängarna är binära säkra sekvenser av byte. De är mycket som vanliga strängar som finns tillgängliga i programmeringsspråk som Java och c#.net. Viktigast av allt är att Redis-strängarna kan användas för att lagra nästan vad som helst som du gillar, såsom strängar, heltal, serialiserade JSON:er, XML:er och binära värden. Eftersom Redis-strängdatatypen är binär säker, kan binära objekt som bilder, videor och dokument enkelt lagras med hjälp av strängar. Dessutom kan en enda Redis-sträng hålla data upp till 512MB.







Dessutom används Redis-strängdatastrukturen vanligtvis i följande användningsfall:



  • Cachning
    • Sessionslagring
    • API-svar
    • HTML-sidor
  • Disken
  • Bitmappsimplementering och bitvisa operationer

De mest använda strängoperationerna är SET, GET, MGET och SETNX. INCRBY- och INCRBYFLOAT-kommandona används vanligtvis för att hantera räknarna som implementeras med hjälp av Redis-strängdatastrukturen. I den här handledningen beskrivs MGET-kommandot i detalj.



MGET-kommandot avslöjat

MGET-kommandot används för att hämta värdena för de givna Redis-nycklarna. Den accepterar en eller flera nycklar som argument. Vidare arbetar MGET-kommandot på O(N) tidskomplexitet där N är antalet specificerade nycklar. Syntaxen för MGET-kommandot är som följer:





MGET-nyckel [ nyckel... ]

Vid exekvering av MGET-kommandot returnerar den en matris med värden som är lagrade vid de angivna Redis-nycklarna. Om nyckeln inte finns returnerar den specialvärdet noll. På samma sätt, om nyckeln inte innehåller ett strängvärde, a noll värdet returneras.

Användningsfall: Hämta alla cachade API-svar

Låt oss anta ett scenario där Redis-strängdatatypen används för att implementera en cache som innehåller de senaste API-svaren. Vi använder kommandot SET för att lagra några dummy API-svar för demonstrationsändamål.



uppsättning dummyhost / kunder 'ricky, bernard, mary, samuel, joe' uppsättning dummyhost / leverantörer 'jimmy, jeremy, andrew, hera' uppsättning dummyhost / fakturor '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Vi lagrar ett par strängvärden och ett serialiserat JSON-objekt med hjälp av Redis-strängdatatypen.

Låt oss nu använda MGET-kommandot för att hämta alla svar i varje API-anrop samtidigt.

får dummyhost / kunder dummyhost / leverantörer dummyhost / fakturor

Produktion:

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

två ) 'jimmy, jeremy, andrew, hera'

3 ) '{' fakturor ': [{' invoice_id ': 1, ' faktura betalning ':1000}, {' invoice_id ': två, ' faktura betalning ':3400}]}'

Som förväntat returneras värdena i varje nyckel som en array.

Ange en icke-existerande nyckel

Som nämnts returnerar MGET-kommandot specialvärdet noll när en icke-existerande nyckel tillhandahålls. Låt oss specificera en icke-existerande nyckel som heter 'nonexistingkey' till MGET-kommandot och exekvera föregående exempel enligt följande:

får dummyhost / kunder dummyhost / leverantörer dummyhost / fakturor som inte finns nyckel

Som du kunde se är det sista värdet i arrayen noll som är associerad med den icke-existerande Redis-nyckeln.

Sammantaget är MGET-kommandot en idealisk kandidat när vi behöver hämta strängvärdena lagrade vid flera nycklar i ett samtal istället för att anropa GET-kommandot flera gånger.

Slutsats

Sammanfattningsvis verkar MGET-kommandot på Redis-strängdatastrukturen för att returnera de värden som är lagrade vid flera nycklar i ett samtal. Den accepterar en eller flera Redis-nycklar som argument. Som framhållits arbetar MGET-kommandot i O(N) tidskomplexitet. Användningsfallet visade dig hur du använder MGET-kommandot för att effektivt hämta flera API-svar lagrade på flera nycklar.