Redis MGET

Redis Mget



Redis Strings Explained

Stringid on Redise andmebaasi kõige elementaarsem ja põhilisem andmestruktuur. Redise stringid on binaarsed ohutud baitide jadad. Need sarnanevad paljuski tavaliste stringidega, mis on saadaval programmeerimiskeeltes, nagu Java ja c#.net. Kõige tähtsam on see, et Redise stringe saab kasutada peaaegu kõike, mis teile meeldib, näiteks stringide, täisarvude, serialiseeritud JSON-ide, XML-ide ja binaarväärtuste salvestamiseks. Kuna Redise stringi andmetüüp on binaarselt ohutu, saab binaarobjekte, nagu pildid, videod ja dokumendid, lihtsalt stringide abil salvestada. Lisaks võib üks Redise string hoida andmeid kuni 512 MB.







Lisaks kasutatakse Redise stringi andmestruktuuri tavaliselt järgmistel kasutusjuhtudel.



  • Vahemällu salvestamine
    • Seansi salvestamine
    • API vastused
    • HTML-lehed
  • Loendur
  • Bitkaardi rakendamine ja bitipõhised toimingud

Enamasti kasutatavad stringoperatsioonid on SET, GET, MGET ja SETNX. Redise stringi andmestruktuuri kasutades rakendatud loendurite haldamiseks kasutatakse tavaliselt käske INCRBY ja INCRBYFLOAT. Selles õpetuses kirjeldatakse MGET-käsku üksikasjalikult.



MGET-i käsk selgus

MGET käsku kasutatakse antud Redis võtmete väärtuste hankimiseks. See aktsepteerib argumentidena ühte või mitut võtit. Lisaks töötab MGET käsk O(N) aja keerukusel, kus N on määratud klahvide arv. MGET-käsu süntaks on järgmine:





MGET-võti [ võti ... ]

Käsu MGET täitmisel tagastab see väärtuste massiivi, mis on salvestatud määratud Redise võtmetele. Kui võtit pole, tagastab see eriväärtuse null. Samamoodi, kui võtmel ei ole stringi väärtust, a null väärtus tagastatakse.

Kasutusjuhtum: hankige kõik vahemällu salvestatud API vastused

Oletame stsenaariumi, kus Redise stringi andmetüüpi kasutatakse vahemälu rakendamiseks, mis sisaldab hiljutisi API vastuseid. Kasutame käsku SET, et salvestada demonstratsiooni eesmärgil mõningaid näivaid API vastuseid.



seatud dummyhost / klientidele 'ricky, bernard, mary, samuel, joe' seatud dummyhost / tarnijad 'Jimmy, Jeremy, Andrew, hera' seatud dummyhost / arveid '{'arved': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Salvestame paar stringiväärtust ja serialiseeritud JSON-objekti, kasutades Redise stringi andmetüüpi.

Nüüd kasutame käsku MGET, et hankida kõik vastused igas API-kõnes korraga.

mget dummyhost / kliendid dummyhost / tarnijad dummyhost / arveid

Väljund:

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

kaks ) 'Jimmy, Jeremy, Andrew, hera'

3 ) '{' arveid ': [{' arve_id ': 1,' arve_makse ':1000}, {' arve_id ': kaks,' arve_makse ':3400}]}'

Nagu oodatud, tagastatakse iga võtme väärtused massiivina.

Olematu võtme määramine

Nagu mainitud, tagastab käsk MGET eriväärtuse null kui antakse olematu võti. Määrake MGET käsule olematu võti nimega 'nonexistingkey' ja käivitage eelmine näide järgmiselt:

mget dummyhost / kliendid dummyhost / tarnijad dummyhost / arved olematu võti

Nagu näete, on massiivi viimane väärtus null mis on seotud olematu Redise võtmega.

Üldiselt on MGET-käsk ideaalne kandidaat, kui peame ühe kõne käigus hankima mitmele võtmele salvestatud stringiväärtused, selle asemel, et GET-käsku mitu korda kutsuda.

Järeldus

Kokkuvõttes töötab MGET käsk Redis stringi andmestruktuuril, et tagastada ühe kõnega mitmele võtmele salvestatud väärtused. See aktsepteerib argumentidena ühte või mitut Redise võtit. Nagu rõhutatud, töötab MGET käsk O(N) aja keerukuses. Kasutusjuhtum näitas, kuidas kasutada käsku MGET mitme võtmega salvestatud API vastuse tõhusaks toomiseks.