Redis MGET

Redis Mget



Vysvětlení řetězců Redis

Řetězce jsou nejzákladnější a nejzákladnější datovou strukturou zavedenou databází Redis. Řetězce Redis jsou binární bezpečné sekvence bajtů. Jsou hodně jako normální řetězce dostupné v programovacích jazycích jako Java a c#.net. A co je nejdůležitější, řetězce Redis lze použít k uložení téměř čehokoli, co se vám líbí, jako jsou řetězce, celá čísla, serializované JSON, XML a binární hodnoty. Protože datový typ Redis string je binárně bezpečný, lze binární objekty, jako jsou obrázky, videa a dokumenty, snadno ukládat pomocí řetězců. Navíc jeden řetězec Redis pojme data až 512 MB.







Kromě toho se datová struktura Redis string běžně používá v následujících případech použití:



  • Ukládání do mezipaměti
    • Úložiště relace
    • API odpovědi
    • HTML stránky
  • Čelit
  • Implementace bitmap a bitové operace

Nejčastěji používané operace s řetězci jsou SET, GET, MGET a SETNX. Příkazy INCRBY a INCRBYFLOAT se běžně používají ke správě čítačů implementovaných pomocí datové struktury řetězce Redis. V tomto kurzu je podrobně popsán příkaz MGET.



Příkaz MGET odhalen

Příkaz MGET se používá k načtení hodnot daných klíčů Redis. Přijímá jeden nebo více klíčů jako argumenty. Dále příkaz MGET pracuje s časovou složitostí O(N), kde N je počet specifikovaných klíčů. Syntaxe příkazu MGET je následující:





klíč MGET [ klíč... ]

Po provedení příkazu MGET vrátí pole hodnot, které jsou uloženy v zadaných klíčích Redis. Pokud klíč neexistuje, vrátí speciální hodnotu nula. Podobně, pokud klíč neobsahuje řetězcovou hodnotu, a nula je vrácena hodnota.

Případ použití: Načtěte všechny odpovědi API uložené v mezipaměti

Předpokládejme scénář, kdy se datový typ řetězce Redis používá k implementaci mezipaměti, která obsahuje nedávné odpovědi API. Příkaz SET používáme k uložení některých fiktivních odpovědí API pro demonstrační účely.



soubor dummyhost / zákazníky 'ricky, bernard, mary, samuel, joe' soubor dummyhost / dodavatelů 'jimmy, jeremy, andrew, hera' soubor dummyhost / faktury '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Ukládáme několik řetězcových hodnot a serializovaný objekt JSON pomocí datového typu Redis string.

Nyní pomocí příkazu MGET načteme všechny odpovědi v každém volání API najednou.

mget dummyhost / dummyhost zákazníků / dummyhost dodavatelů / faktury

Výstup:

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

dva ) 'jimmy, jeremy, andrew, hera'

3 ) '{' faktury ': [{' faktura_id ': 1,' faktura_platba ':1000}, {' faktura_id ': dva,' faktura_platba ':3400}]'

Podle očekávání jsou hodnoty v každém klíči vráceny jako pole.

Určení neexistujícího klíče

Jak bylo zmíněno, příkaz MGET vrací speciální hodnotu nula když je poskytnut neexistující klíč. Uvedeme neexistující klíč s názvem „nonexistingkey“ do příkazu MGET a proveďte předchozí příklad následovně:

mget dummyhost / dummyhost zákazníků / dummyhost dodavatelů / faktury neexistující klíč

Jak jste viděli, poslední hodnota v poli je nula který je spojen s neexistujícím klíčem Redis.

Celkově vzato je příkaz MGET ideálním kandidátem, když potřebujeme získat hodnoty řetězců uložené na více klíčích v jednom volání místo toho, abychom příkaz GET volali několikrát.

Závěr

Stručně řečeno, příkaz MGET pracuje s datovou strukturou řetězce Redis a vrací hodnoty uložené ve více klíčích v jednom volání. Jako argumenty přijímá jeden nebo více klíčů Redis. Jak bylo zvýrazněno, příkaz MGET pracuje v časové složitosti O(N). Případ použití vám ukázal, jak použít příkaz MGET k efektivnímu načtení několika odpovědí API uložených na více klíčích.