Redis MGET

Redis Mget



Redis Strings vysvetlené

Reťazce sú najzákladnejšou a najzákladnejšou dátovou štruktúrou zavedenou databázou Redis. Redisovské reťazce sú binárne bezpečné sekvencie bajtov. Sú veľmi podobné bežným reťazcom dostupným v programovacích jazykoch ako Java a c#.net. Najdôležitejšie je, že reťazce Redis možno použiť na ukladanie takmer všetkého, čo sa vám páči, ako sú reťazce, celé čísla, serializované JSON, XML a binárne hodnoty. Keďže dátový typ reťazca Redis je binárne bezpečný, binárne objekty, ako sú obrázky, videá a dokumenty, možno jednoducho ukladať pomocou reťazcov. Okrem toho jeden reťazec Redis pojme dáta až do 512 MB.







Okrem toho sa dátová štruktúra Redis string bežne používa v nasledujúcich prípadoch použitia:



  • Ukladanie do vyrovnávacej pamäte
    • Ukladanie relácií
    • API odpovede
    • HTML stránky
  • Počítadlo
  • Implementácia bitmapy a bitové operácie

Najčastejšie používané reťazcové operácie sú SET, GET, MGET a SETNX. Príkazy INCRBY a INCRBYFLOAT sa bežne používajú na správu počítadiel implementovaných pomocou dátovej štruktúry reťazca Redis. V tomto návode je podrobne popísaný príkaz MGET.



Príkaz MGET odhalený

Príkaz MGET sa používa na získanie hodnôt daných kľúčov Redis. Akceptuje jeden alebo viac kľúčov ako argumenty. Okrem toho príkaz MGET pracuje s časovou zložitosťou O(N), kde N je počet špecifikovaných kľúčov. Syntax príkazu MGET je nasledovná:





kľúč MGET [ kľúč... ]

Po vykonaní príkazu MGET vráti pole hodnôt, ktoré sú uložené v špecifikovaných kľúčoch Redis. Ak kľúč neexistuje, vráti špeciálnu hodnotu nula. Podobne, ak kľúč neobsahuje hodnotu reťazca, a nula hodnota sa vráti.

Prípad použitia: Načítajte všetky odpovede rozhrania API uložené vo vyrovnávacej pamäti

Predpokladajme scenár, kde sa dátový typ reťazca Redis používa na implementáciu vyrovnávacej pamäte, ktorá obsahuje najnovšie odpovede API. Na ukladanie niektorých fiktívnych odpovedí API na demonštračné účely používame príkaz SET.



nastaviť dummyhost / zákazníkov 'ricky, bernard, mary, samuel, joe' nastaviť dummyhost / dodávateľov 'jimmy, jeremy, andrew, hera' nastaviť dummyhost / faktúry '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Ukladáme niekoľko hodnôt reťazcov a serializovaný objekt JSON pomocou typu údajov reťazca Redis.

Teraz použite príkaz MGET na získanie všetkých odpovedí v každom volaní API naraz.

mget dummyhost / dummyhost zákazníkov / dummyhost dodávateľov / faktúry

Výkon:

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

dva ) 'jimmy, jeremy, andrew, hera'

3 ) '{' faktúry ': [{' faktura_id ': 1,' faktura_platba ':1000}, {' faktura_id ': dva, ' faktura_platba ':3400}]'

Ako sa očakávalo, hodnoty v každom kľúči sa vrátia ako pole.

Určenie neexistujúceho kľúča

Ako už bolo spomenuté, príkaz MGET vracia špeciálnu hodnotu nula keď je poskytnutý neexistujúci kľúč. Zadajte do príkazu MGET neexistujúci kľúč s názvom „neexistujúci kľúč“ a vykonajte predchádzajúci príklad takto:

mget dummyhost / dummyhost zákazníkov / dummyhost dodávateľov / faktúry neexistujúci kľúč

Ako ste mohli vidieť, posledná hodnota v poli je nula ktorý je spojený s neexistujúcim kľúčom Redis.

Celkovo je príkaz MGET ideálnym kandidátom, keď potrebujeme získať hodnoty reťazca uložené vo viacerých kľúčoch v rámci jedného hovoru namiesto toho, aby sme príkaz GET volali niekoľkokrát.

Záver

Stručne povedané, príkaz MGET pracuje s dátovou štruktúrou reťazca Redis a vracia hodnoty uložené vo viacerých kľúčoch v jednom volaní. Ako argumenty prijíma jeden alebo viac kľúčov Redis. Ako bolo zdôraznené, príkaz MGET pracuje v časovej zložitosti O(N). Prípad použitia vám ukázal, ako použiť príkaz MGET na efektívne načítanie niekoľkých odpovedí API uložených na viacerých kľúčoch.