Redis MGET

Redis Mget



Redis Strings magyarázata

A karakterláncok a Redis adatbázis által bevezetett legalapvetőbb és legalapvetőbb adatstruktúra. A Redis karakterláncok biztonságos bináris bájtsorozatok. Nagyon hasonlítanak az olyan programozási nyelvekben elérhető normál karakterláncokhoz, mint a Java és a c#.net. A legfontosabb, hogy a Redis-karakterláncok szinte bármit, ami tetszik, tárolhatók, például karakterláncok, egész számok, soros JSON-ok, XML-ek és bináris értékek. Mivel a Redis karakterlánc adattípus binárisan biztonságos, bináris objektumok, például képek, videók és dokumentumok könnyen tárolhatók karakterláncok segítségével. Ezenkívül egyetlen Redis-karakterlánc 512 MB-ig tárolhatja az adatokat.







Ezenkívül a Redis karakterlánc-adatstruktúrát általában a következő használati esetekben használják:



  • Gyorsítótárazás
    • Munkamenet tárolása
    • API válaszok
    • HTML oldalak
  • Számláló
  • Bittérkép implementáció és bitenkénti műveletek

A leggyakrabban használt karakterlánc-műveletek a SET, GET, MGET és SETNX. Az INCRBY és INCRBYFLOAT parancsokat általában a Redis karakterlánc-adatszerkezettel megvalósított számlálók kezelésére használják. Ebben az oktatóanyagban az MGET parancsot részletezzük.



Megjelent az MGET parancs

Az MGET parancs az adott Redis kulcsok értékeinek lekérésére szolgál. Egy vagy több kulcsot fogad el argumentumként. Ezenkívül az MGET parancs O(N) időbonyolítással működik, ahol az N a megadott kulcsok száma. Az MGET parancs szintaxisa a következő:





MGET kulcs [ kulcs ... ]

Az MGET parancs végrehajtásakor a megadott Redis kulcsokon tárolt értékek tömbjét adja vissza. Ha a kulcs nem létezik, akkor a speciális értéket adja vissza nulla. Hasonlóképpen, ha a kulcs nem tartalmaz karakterlánc-értéket, a nulla érték kerül visszaadásra.

Használati eset: Az összes gyorsítótárazott API-válasz lekérése

Tételezzünk fel egy olyan forgatókönyvet, amelyben a Redis karakterlánc adattípust használják a legutóbbi API-válaszokat tároló gyorsítótár megvalósítására. A SET paranccsal tárolunk néhány ál API-választ bemutató célból.



készlet dummyhost / vásárlók 'Ricky, Bernard, Mary, Samuel, Joe' készlet dummyhost / szállítók 'Jimmy, Jeremy, Andrew, Hera' készlet dummyhost / számlákat '{'számlák': [{'számla_azonosítója': 1, 'számla_fizetése': 1000}, {'számla_azonosítója': 2, 'számla_fizetése': 3400}]}'

Néhány karakterlánc-értéket és egy sorosított JSON-objektumot tárolunk a Redis karakterlánc adattípus használatával.

Most pedig használjuk az MGET parancsot az egyes API-hívások összes válaszának lekéréséhez.

mget dummyhost / ügyfelek dummyhost / beszállítók dummyhost / számlákat

Kimenet:

1 ) 'Ricky, Bernard, Mary, Samuel, Joe'

két ) 'Jimmy, Jeremy, Andrew, Hera'

3 ) '{' számlákat ': [{' számla_azonosítója ': 1,' számla fizetés ':1000}, {' számla_azonosítója ': két, ' számla fizetés ':3400}]}'

Ahogy az várható volt, az egyes kulcsokban lévő értékek tömbként kerülnek visszaadásra.

Nem létező kulcs megadása

Mint említettük, az MGET parancs a speciális értéket adja vissza nulla ha nem létező kulcsot biztosítanak. Adjunk meg egy „nonexistingkey” nevű, nem létező kulcsot az MGET parancshoz, és hajtsuk végre az előző példát az alábbiak szerint:

mget dummyhost / ügyfelek dummyhost / beszállítók dummyhost / számlák nem létező kulcs

Amint láthatta, a tömb utolsó értéke nulla amely a nem létező Redis kulccsal van társítva.

Összességében az MGET parancs ideális választás, ha a több kulcson tárolt karakterlánc-értékeket egy hívásban kell lekérnünk, ahelyett, hogy többször hívnánk meg a GET parancsot.

Következtetés

Összefoglalva, az MGET parancs a Redis karakterlánc adatstruktúrán működik, hogy visszaadja a több kulcson tárolt értékeket egy hívásban. Egy vagy több Redis kulcsot fogad el argumentumként. Amint kiemeltük, az MGET parancs O(N) időbonyolításban működik. A használati eset megmutatta, hogyan használhatja az MGET parancsot a több kulcson tárolt API-válaszok hatékony lekérésére.