Ridiche LSET

Ridiche Lset



O listă Redis este o structură de date care deține o secvență de elemente șir în ordinea de inserare. Se bazează pe Lista Linked. Deci, inserarea unui element la cap și coadă se realizează în timp constant. Singurul dezavantaj al listelor Redis este că interogarea elementelor după un index este puțin costisitoare, ceea ce necesită timp direct proporțional cu indexul elementului care accesează. Motivul din spatele implementării bazate pe liste legate este de a face inserarea datelor mai rapidă pentru o listă foarte lungă de articole.

Listele Redis au indexare bazată pe 0. Primul element este desemnat ca 0 th index; al doilea este la 1 Sf index și așa mai departe. Accesarea elementelor de coadă cu indici este posibilă cu indici negativi, cum ultimul element este indexat ca -1, penultimul element este -2 și așa mai departe.









Elementele listei pot fi setate la orice index dat cu comanda LSET, care este descrisă în secțiunea următoare.



Comanda LSET

Comanda LSET setează un element la indexul dat al unei liste Redis stocate la cheia specificată. Are următoarea sintaxă simplă:





Element index list_key LSET

list_key : Cheia listei Redis.

index : indexul în care trebuie să setați un element.



element : Elementul șir care trebuie setat la indexul specificat.

Această comandă returnează un șir simplu „OK” dacă elementul a fost setat corect. Ori de câte ori întâlnește un index care este în afara intervalului, comanda LSET returnează o eroare.

Unul dintre cele mai frecvente cazuri de utilizare a listelor Redis este stocarea postărilor pe rețelele sociale și a actualizărilor acestora pentru utilizatorii individuali. Comanda LSET joacă un rol important acolo, așa cum se discută în secțiunea următoare.

Caz de utilizare – Actualizați postările pe rețelele sociale

Să presupunem un eveniment în care o companie își menține propriul site de social media cu mii de utilizatori care postează activ postări și stări. Ei au identificat că listele Redis sunt candidatul potrivit pentru a ocupa aceste posturi și stări în care se întâmplă inserări frecvente, iar listele Redis efectuează inserarea în timp constant.

Să creăm o listă Redis pentru un anumit ID de utilizator 100, care va fi folosită pentru a stoca postările și mesajele de stare ale acelui utilizator. Vom folosi comanda LPUSH pentru a pune câteva postări false și mesaje de stare pentru id-ul de utilizator 100.

LPUSH social-media:user:100 „2022-08-01: O zi bună pentru a începe.”
LPUSH social-media:user:100 „2022-08-05:A început un nou loc de muncă la linuxhint”
LPUSH social-media:user:100 „2022-08-06: Petrecere grozavă astăzi”
LPUSH social-media:user:100 „2022-08-07:Zi proastă!!!”

Ieșire

Să presupunem că utilizatorul cu ID de utilizator 100 va actualiza una dintre postările sale vechi. Să presupunem că a treia postare pe care a postat-o ​​are nevoie de unele corectări. Comanda LSET poate realiza cu ușurință acest lucru, așa cum se arată în continuare.

Deoarece al treilea element este la indicele 2 din Cap. Îl vom actualiza după cum urmează:

LSET social-media:user:100 2 „A început un nou rol de scriitor la LinuxHint”

Ieșire

După cum era de așteptat, comanda a fost executată cu succes, iar elementul de la al doilea index a fost actualizat. Să verificăm din nou lista după cum urmează:

Putem face același lucru specificând indexul din coadă după cum urmează:

LSET social-media:user:100 -2 „A început un nou rol de scriitor la LinuxHint”

După cum era de așteptat, al treilea element a fost setat la noul șir „Job a început la LinuxHINT”.

Dacă specificați un index care este în afara intervalului, va genera o eroare, așa cum se arată în următoarele:

LSET social-media:user:100 6 „Lucrul a început la LinuxHINT”

Ieșire

Concluzie

Comanda LSET setează un element de listă la un index specificat la un element dat din lista Redis stocat la o anumită cheie. Deoarece indicii listei Redis încep de la 0, acesta este primul element. Indexul 1 este al doilea element al listei și așa mai departe. După cum sa discutat, indicii elementelor care încep de la coadă pot fi specificați folosind numere negative cum ar fi -1 este ultimul element, -2 este elementul dinaintea ultimului și așa mai departe. Ori de câte ori este transmis un index inexistent, comanda LSET va returna o eroare. În plus, această comandă returnează un șir simplu de ieșire peste execuția cu succes.