Redis liste imaju indeksiranje temeljeno na 0. Prvi element je označen kao 0 th indeks; drugi je na 1 sv indeks, i tako dalje. Pristup repnim elementima s indeksima moguć je s negativnim indeksima kao što je zadnji element indeksiran kao -1, pretposljednji element je -2, i tako dalje.
Elementi popisa mogu se postaviti na bilo koji zadani indeks naredbom LSET, koja je opisana u sljedećem odjeljku.
Naredba LSET
Naredba LSET postavlja element na zadani indeks Redis liste pohranjene na navedenom ključu. Ima sljedeću jednostavnu sintaksu:
LSET list_key element indeksa
ključ_liste : ključ Redis liste.
indeks : Indeks gdje trebate postaviti element.
element : Element niza koji se postavlja na navedeni indeks.
Ova naredba vraća jednostavan niz 'OK' ako je element ispravno postavljen. Kad god naiđe na indeks koji je izvan raspona, naredba LSET vraća pogrešku.
Jedan od najčešćih slučajeva korištenja Redis popisa je pohranjivanje objava na društvenim mrežama i njihovih ažuriranja za pojedinačne korisnike. Naredba LSET tu igra važnu ulogu, kao što je objašnjeno u sljedećem odjeljku.
Slučaj upotrebe – ažurirajte objave na društvenim mrežama
Pretpostavimo događaj na kojem tvrtka održava vlastitu web stranicu društvenih medija s tisućama korisnika koji aktivno objavljuju postove i statuse. Identificirali su da su Redis liste prikladan kandidat za držanje ovih radnih mjesta i statusa gdje se često umetanje događa, a Redis liste vrše umetanje u konstantnom vremenu.
Kreirajmo Redis popis za određeni ID korisnika 100 koji će se koristiti za pohranjivanje objava i statusnih poruka tog određenog korisnika. Koristit ćemo naredbu LPUSH za postavljanje nekih lažnih postova i statusnih poruka za korisnički ID 100.
LPUSH social-media:user:100 '2022-08-01:Lijep dan za početak.'LPUSH social-media:user:100 '2022-08-05: Započeo novi posao u linuxhintu'
LPUSH social-media:user:100 '2022-08-06:Sjajna zabava danas'
LPUSH social-media:user:100 '2022-08-07:Loš dan!!!'
Izlaz
Pretpostavimo da će korisnik s korisničkim ID-om 100 ažurirati jedan od svojih starih postova. Pretpostavimo da treći post koji je objavio treba malo ispraviti. Naredba LSET to može lako postići, kao što je prikazano u nastavku.
Budući da je treći element na indeksu 2 od glave. Ažurirat ćemo ga na sljedeći način:
LSET social-media:user:100 2 'Započeo novu ulogu pisca u LinuxHintu'Izlaz
Kao što se očekivalo, naredba je uspješno izvršena, a element na drugom indeksu je ažuriran. Ponovno provjerimo popis na sljedeći način:
Možemo učiniti isto navođenjem indeksa iz repa na sljedeći način:
LSET social-media:user:100 -2 'Započeo novu ulogu pisca u LinuxHintu'
Kao što je i očekivano, treći element postavljen je na novi niz 'Posao započet u LinuxHINT'.
Ako navedete indeks koji je izvan raspona, pojavit će se pogreška, kao što je prikazano u nastavku:
LSET social-media:user:100 6 'Posao započet u LinuxuHINT'Izlaz
Zaključak
Naredba LSET postavlja element popisa na specificirani indeks na dani element Redis popisa pohranjenog na danom ključu. Budući da indeksi popisa Redis počinju od 0, to je prvi element. Indeks 1 je drugi element liste, i tako dalje. Kao što je spomenuto, indeksi elemenata počevši od repa mogu se odrediti korištenjem negativnih brojeva kao što je -1 zadnji element, -2 element prije zadnjeg, i tako dalje. Kad god se proslijedi nepostojeći indeks, LSET naredba će vratiti grešku. Nadalje, ova naredba vraća jednostavan string izlaz preko uspješnog izvođenja.