Redis MGET

Redis Mget



Ipinaliwanag ang Redis Strings

Ang mga string ay ang pinakapangunahing at pangunahing istraktura ng data na ipinakilala ng Redis database. Ang mga string ng Redis ay mga binary safe na pagkakasunud-sunod ng mga byte. Ang mga ito ay katulad ng mga normal na string na magagamit sa mga programming language tulad ng Java at c#.net. Pinakamahalaga, ang mga string ng Redis ay maaaring gamitin upang mag-imbak ng halos anumang bagay na gusto mo tulad ng mga string, integer, serialized na JSON, XML, at binary na halaga. Dahil binary safe ang uri ng data ng string ng Redis, madaling maiimbak ang mga binary na bagay tulad ng mga larawan, video, at dokumento gamit ang mga string. Bilang karagdagan, ang isang solong Redis string ay maaaring humawak ng data hanggang sa 512MB.







Higit pa rito, ang istraktura ng data ng string ng Redis ay karaniwang ginagamit sa mga sumusunod na kaso ng paggamit:



  • Pag-cache
    • Imbakan ng session
    • Mga tugon sa API
    • Mga pahina ng HTML
  • Kontra
  • Pagpapatupad ng bitmap at pagpapatakbo ng bitwise

Ang pinaka ginagamit na string operations ay SET, GET, MGET, at SETNX. Ang INCRBY at INCRBYFLOAT command ay karaniwang ginagamit upang pamahalaan ang mga counter na ipinatupad gamit ang Redis string data structure. Sa tutorial na ito, ang utos ng MGET ay detalyado.



Inihayag ang Utos ng MGET

Ang utos ng MGET ay ginagamit upang kunin ang mga halaga ng ibinigay na Redis key. Tumatanggap ito ng isa o higit pang mga susi bilang mga argumento. Higit pa rito, gumagana ang MGET command sa O(N) time complexity kung saan ang N ay ang bilang ng mga key na tinukoy. Ang syntax ng MGET command ay ang mga sumusunod:





Susi ng MGET [ susi... ]

Sa pagpapatupad ng utos ng MGET, ibinabalik nito ang isang hanay ng mga halaga na nakaimbak sa tinukoy na mga Redis key. Kung wala ang susi, ibinabalik nito ang espesyal na halaga wala. Katulad nito, kung walang string value ang key, a wala ibinalik ang halaga.

Use Case: Kunin ang Lahat ng Naka-cache na Mga Tugon sa API

Ipagpalagay natin ang isang senaryo kung saan ginagamit ang uri ng data ng string ng Redis para magpatupad ng cache na naglalaman ng mga kamakailang tugon ng API. Ginagamit namin ang utos ng SET upang mag-imbak ng ilang dummy na tugon ng API para sa mga layunin ng pagpapakita.



itakda dummyhost / mga customer 'ricky, bernard, mary, samuel, joe' itakda dummyhost / mga supplier 'jimmy, jeremy, andrew, hera' itakda dummyhost / mga invoice '{'invoice': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Nag-iimbak kami ng ilang string value at isang serialized na JSON object gamit ang Redis string data type.

Ngayon, gamitin natin ang utos ng MGET upang kunin ang lahat ng mga tugon sa bawat tawag sa API nang sabay-sabay.

makakuha ng dummyhost / mga customer dummyhost / mga supplier dummyhost / mga invoice

Output:

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

dalawa ) 'jimmy, jeremy, andrew, hera'

3 ) '{' mga invoice ': [{' invoice_id ': 1,' bayad paktura ':1000}, {' invoice_id ': dalawa, ' bayad paktura ':3400}]}'

Tulad ng inaasahan, ang mga halaga sa bawat key ay ibinalik bilang isang array.

Pagtukoy ng Non-Existing Key

Gaya ng nabanggit, ibinabalik ng MGET command ang espesyal na halaga wala kapag may ibinigay na hindi umiiral na susi. Tukuyin natin ang isang hindi umiiral na key na tinatawag na 'nonexistingkey' sa MGET command at isagawa ang nakaraang halimbawa tulad ng sumusunod:

makakuha ng dummyhost / mga customer dummyhost / mga supplier dummyhost / mga invoice na walang susi

Tulad ng nakikita mo, ang huling halaga sa array ay wala na nauugnay sa hindi umiiral na Redis key.

Sa pangkalahatan, ang utos ng MGET ay isang mainam na kandidato kapag kailangan nating kunin ang mga halaga ng string na nakaimbak sa maraming key sa isang tawag sa halip na tawagan ang utos ng GET nang maraming beses.

Konklusyon

Sa buod, gumagana ang MGET command sa Redis string data structure para ibalik ang mga value na nakaimbak sa maraming key sa isang tawag. Tumatanggap ito ng isa o higit pang Redis key bilang mga argumento. Gaya ng naka-highlight, gumagana ang MGET command sa O(N) time complexity. Ipinakita sa iyo ng kaso ng paggamit kung paano gamitin ang command na MGET para makakuha ng ilang tugon sa API na nakaimbak sa maraming key nang mahusay.