Ridikėliai LSET

Ridikeliai Lset



Redis sąrašas yra duomenų struktūra, kurioje yra eilutės elementų seka įterpimo tvarka. Jis pagrįstas susietu sąrašu. Taigi, elemento įterpimas prie galvos ir uodegos atliekamas pastoviu laiku. Vienintelis „Redis“ sąrašų trūkumas yra tas, kad elementų užklausa pagal indeksą yra šiek tiek brangi, o tai užtrunka tiesiogiai proporcingai prisijungimo elemento indeksui. Susieto sąrašo diegimo priežastis yra greitesnis duomenų įterpimas labai ilgam elementų sąrašui.

Redis sąrašai turi 0 pagrįstą indeksavimą. Pirmasis elementas žymimas 0 th indeksas; antrasis yra 1 vietoje Šv indeksas ir pan. Prieiga prie uodegos elementų su indeksais galima naudojant neigiamus indeksus, pavyzdžiui, paskutinis elementas indeksuojamas kaip -1, priešpaskutinis elementas yra -2 ir pan.









Sąrašo elementus galima nustatyti bet kuriame rodyklėje, naudojant komandą LSET, kuri aprašyta kitame skyriuje.



LSET komanda

Komanda LSET nustato elementą nurodytame Redis sąrašo, saugomo nurodytu raktu, rodykle. Ji turi tokią paprastą sintaksę:





LSET list_key indekso elementas

list_key : Redis sąrašo klavišas.

indeksas : indeksas, kuriame reikia nustatyti elementą.



elementas : eilutės elementas, kuris turi būti nustatytas pagal nurodytą indeksą.

Ši komanda grąžina paprastą eilutę „OK“, jei elementas nustatytas tinkamai. Kai tik ji susiduria su indeksu, kuris yra už diapazono ribų, komanda LSET grąžina klaidą.

Vienas iš labiausiai paplitusių Redis sąrašų naudojimo atvejų yra socialinės žiniasklaidos įrašų ir jų atnaujinimų saugojimas atskiriems vartotojams. LSET komanda čia vaidina svarbų vaidmenį, kaip aptarta kitame skyriuje.

Naudojimo atvejis – atnaujinkite socialinės žiniasklaidos įrašus

Tarkime, įvykis, kai įmonė turi savo socialinės žiniasklaidos svetainę, kurioje tūkstančiai vartotojų aktyviai skelbia įrašus ir būsenas. Jie nustatė, kad Redis sąrašai yra tinkamas kandidatas užimti šias pareigas ir būsenas, kuriose dažnai įterpiama, o Redis sąrašai įterpimą atlieka pastoviu laiku.

Sukurkime Redis sąrašą tam tikram vartotojo ID 100, kuris bus naudojamas to konkretaus vartotojo įrašams ir būsenos pranešimams saugoti. Naudosime komandą LPUSH, norėdami įdėti kai kuriuos netikrus įrašus ir būsenos pranešimus, skirtus vartotojo ID 100.

LPUSH social-media:user:100 '2022-08-01:Gera diena pradėti.'
LPUSH social-media:user:100 '2022-08-05: Pradėjau naują darbą linuxhint'
LPUSH socialinė žiniasklaida:user:100 '2022-08-06:Puikus vakarėlis šiandien'
LPUSH social-media:user:100 '2022-08-07:Bloga diena!!!'

Išvestis

Tarkime, kad vartotojas, kurio vartotojo ID 100, atnaujins vieną iš savo senų įrašų. Tarkime, kad trečiąjį jo paskelbtą įrašą reikia šiek tiek pataisyti. LSET komanda gali lengvai tai pasiekti, kaip parodyta toliau.

Kadangi trečiasis elementas yra 2 indekse nuo galvos. Mes jį atnaujinsime taip:

LSET social-media:user:100 2 „Pradėjau naują rašytojo vaidmenį LinuxHint“

Išvestis

Kaip ir tikėtasi, komanda buvo sėkmingai įvykdyta, o antrojo indekso elementas buvo atnaujintas. Dar kartą patikrinkime sąrašą taip:

Tą patį galime padaryti nurodydami indeksą iš uodegos taip:

LSET social-media:user:100 -2 „Pradėjau naują rašytojo vaidmenį LinuxHint“

Kaip ir tikėtasi, trečiasis elementas buvo nustatytas į naują eilutę „Darbas prasidėjo LinuxHINT“.

Jei nurodysite indeksą, kuris yra už diapazono ribų, bus rodoma klaida, kaip parodyta toliau:

LSET social-media:user:100 6 'Darbas prasidėjo LinuxHINT'

Išvestis

Išvada

Komanda LSET nustato sąrašo elementą, esantį nurodytoje indekse, į tam tikrą Redis sąrašo elementą, saugomą tam tikru raktu. Kadangi Redis sąrašo indeksai prasideda nuo 0, tai yra pirmasis elementas. 1 indeksas yra antrasis sąrašo elementas ir pan. Kaip aptarta, elementų indeksai, pradedant nuo uodegos, gali būti nurodyti naudojant neigiamus skaičius, pavyzdžiui, -1 yra paskutinis elementas, -2 yra elementas prieš paskutinį ir pan. Kai perduodamas neegzistuojantis indeksas, komanda LSET grąžins klaidą. Be to, ši komanda sėkmingo vykdymo metu grąžina paprastą eilutės išvestį.