Redis MGET

Redis Mget



Redis Strings paskaidroja

Virknes ir visvienkāršākā un pamata datu struktūra, ko ieviesusi datubāze Redis. Redis virknes ir bināras drošas baitu secības. Tās ir ļoti līdzīgas parastajām virknēm, kas pieejamas tādās programmēšanas valodās kā Java un c#.net. Vissvarīgākais ir tas, ka Redis virknes var izmantot, lai saglabātu gandrīz visu, kas jums patīk, piemēram, virknes, veselus skaitļus, serializētus JSON, XML un binārās vērtības. Tā kā Redis virknes datu tips ir bināri drošs, bināros objektus, piemēram, attēlus, videoklipus un dokumentus, var viegli saglabāt, izmantojot virknes. Turklāt viena Redis virkne var saturēt datus līdz 512 MB.







Turklāt Redis virknes datu struktūra parasti tiek izmantota šādos lietošanas gadījumos:



  • Kešatmiņa
    • Sesiju krātuve
    • API atbildes
    • HTML lapas
  • Skaitītājs
  • Bitkartes ieviešana un bitu operācijas

Visbiežāk izmantotās virkņu darbības ir SET, GET, MGET un SETNX. Komandas INCRBY un INCRBYFLOAT parasti izmanto, lai pārvaldītu skaitītājus, kas ieviesti, izmantojot Redis virknes datu struktūru. Šajā apmācībā komanda MGET ir detalizēta.



Atklāta MGET komanda

Komanda MGET tiek izmantota, lai izgūtu doto Redis atslēgu vērtības. Tā pieņem vienu vai vairākas atslēgas kā argumentus. Turklāt komanda MGET darbojas ar O(N) laika sarežģītību, kur N ir norādītais taustiņu skaits. Komandas MGET sintakse ir šāda:





MGET atslēga [ atslēga... ]

Pēc komandas MGET izpildes tā atgriež vērtību masīvu, kas tiek glabāta norādītajās Redis atslēgās. Ja atslēga neeksistē, tā atgriež īpašo vērtību nulle. Līdzīgi, ja atslēgā nav virknes vērtības, a nulle vērtība tiek atgriezta.

Lietošanas gadījums: ienesiet visas kešatmiņā saglabātās API atbildes

Pieņemsim scenāriju, kurā Redis virknes datu tips tiek izmantots, lai ieviestu kešatmiņu, kurā ir jaunākās API atbildes. Mēs izmantojam komandu SET, lai demonstrācijas nolūkos saglabātu dažas fiktīvas API atbildes.



komplekts manekena saimnieks / klientiem 'Rikijs, Bernards, Mērija, Samuels, Džo' komplekts manekena saimnieks / Piegādātāji 'Džimijs, Džeremijs, Endrjū, Hēra' komplekts manekena saimnieks / rēķinus '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Mēs saglabājam dažas virknes vērtības un serializētu JSON objektu, izmantojot Redis virknes datu tipu.

Tagad izmantosim komandu MGET, lai vienlaikus izgūtu visas atbildes katrā API izsaukumā.

mget dummyhost / klienti dummyhost / piegādātāji dummyhost / rēķinus

Izvade:

1 ) 'Rikijs, Bernards, Mērija, Samuels, Džo'

divi ) 'Džimijs, Džeremijs, Endrjū, Hēra'

3 ) '{' rēķinus ': [{' rēķina_id ': 1,' invoice_payment ':1000}, {' rēķina_id ': divi, ' invoice_payment ':3400}]}'

Kā paredzēts, vērtības katrā atslēgā tiek atgrieztas kā masīvs.

Neesošas atslēgas norādīšana

Kā minēts, komanda MGET atgriež īpašo vērtību nulle kad tiek nodrošināta neesoša atslēga. Norādīsim komandai MGET neeksistējošu atslēgu ar nosaukumu “nonexistingkey” un izpildīsim iepriekšējo piemēru šādi:

mget dummyhost / klienti dummyhost / piegādātāji dummyhost / rēķini neeksistējoša atslēga

Kā redzējāt, pēdējā vērtība masīvā ir nulle kas ir saistīts ar neesošo Redis atslēgu.

Kopumā komanda MGET ir ideāls kandidāts, ja mums ir nepieciešams izgūt virknes vērtības, kas saglabātas vairākos taustiņos vienā izsaukumā, nevis vairākas reizes izsaukt GET komandu.

Secinājums

Rezumējot, komanda MGET darbojas Redis virknes datu struktūrā, lai vienā izsaukumā atgrieztu vērtības, kas saglabātas vairākās atslēgās. Tā pieņem vienu vai vairākas Redis atslēgas kā argumentus. Kā uzsvērts, komanda MGET darbojas O(N) laika sarežģītībā. Lietošanas gadījums parādīja, kā izmantot MGET komandu, lai efektīvi iegūtu vairākas API atbildes, kas saglabātas vairākās atslēgās.