A Redis listák 0 alapú indexeléssel rendelkeznek. Az első elem a 0 th index; a második az 1-nél van utca index, és így tovább. A farok elemeinek elérése az indexekkel lehetséges negatív indexekkel, például az utolsó elem -1, az utolsó előtti elem -2, és így tovább.
A listaelemek tetszőleges indexnél beállíthatók az LSET paranccsal, amelyet a következő részben ismertetünk.
Az LSET parancs
Az LSET parancs egy elemet állít be a megadott kulcson tárolt Redis lista adott indexébe. A következő egyszerű szintaxissal rendelkezik:
LSET list_key index elem
lista_kulcs : A Redis lista kulcsa.
index : Az index, ahol be kell állítani egy elemet.
elem : A megadott indexen beállítandó karakterlánc elem.
Ez a parancs „OK” egyszerű karakterláncot ad vissza, ha az elem megfelelően van beállítva. Amikor olyan indexet talál, amely kívül esik a tartományon, az LSET parancs hibát ad vissza.
A Redis listák egyik leggyakoribb felhasználási módja a közösségi médiában megjelent bejegyzések és azok frissítéseinek tárolása az egyes felhasználók számára. Az LSET parancs fontos szerepet játszik itt, amint azt a következő részben tárgyaljuk.
Használati eset – Frissítse a közösségi média bejegyzéseit
Tételezzünk fel egy eseményt, ahol egy vállalat saját közösségi oldalt tart fenn, ahol több ezer felhasználó tesz közzé aktívan bejegyzéseket és állapotokat. Megállapították, hogy a Redis listák a megfelelő jelöltek ezeknek a posztoknak és státuszoknak a betöltésére, ahol gyakori beillesztés történik, és a Redis listák állandó időben hajtják végre a beillesztést.
Hozzon létre egy Redis listát egy adott 100-as felhasználói azonosítóhoz, amely az adott felhasználó bejegyzéseinek és állapotüzeneteinek tárolására szolgál. Az LPUSH parancsot fogjuk használni néhány álbejegyzés és állapotüzenet elhelyezésére a 100-as felhasználói azonosítóhoz.
LPUSH social-media:user:100 '2022-08-01:Szép nap az induláshoz.'LPUSH social-media:user:100 '2022-08-05:Új állást kezdett a linuxhintnél'
LPUSH social-media:user:100 '2022-08-06:Nagyszerű buli ma'
LPUSH social-media:user:100 '2022-08-07:Rossz nap!!!'
Kimenet
Tegyük fel, hogy a 100-as felhasználói azonosítójú felhasználó frissíti valamelyik régi bejegyzését. Tegyük fel, hogy az általa közzétett harmadik bejegyzés némi javításra szorul. Az LSET paranccsal ezt könnyen meg lehet valósítani, ahogy a következőkben is látható.
Mivel a harmadik elem a Fej 2-es indexénél van. A következőképpen frissítjük:
LSET social-media:user:100 2 'Új írói szerepet kezdett a LinuxHintnél'Kimenet
A vártnak megfelelően a parancs végrehajtása sikeresen megtörtént, és a második index eleme frissítve lett. Nézzük újra a listát a következőképpen:
Ugyanezt megtehetjük, ha megadjuk az indexet a farokból a következőképpen:
LSET social-media:user:100 -2 'Új szerepet kezdett íróként a LinuxHintnél'
Ahogy az várható volt, a harmadik elemet az új karakterláncra állítottuk be: „Job start at LinuxHINT”.
Ha olyan indexet ad meg, amely kívül esik a tartományon, az hibát jelez, amint az a következőkben látható:
LSET social-media:user:100 6 'A munka megkezdődött a LinuxHINT-nél'Kimenet
Következtetés
Az LSET parancs egy listaelemet állít be egy megadott indexen a Redis lista adott kulcson tárolt adott eleméhez. Mivel a Redis lista indexei 0-tól kezdődnek, ez az első elem. Az 1. index a lista második eleme, és így tovább. Amint már említettük, a faroktól kezdődő elemek indexei negatív számokkal adhatók meg, például -1 az utolsó elem, -2 az utolsó előtti elem, és így tovább. Amikor egy nem létező indexet adunk át, az LSET parancs hibát ad vissza. Ezenkívül ez a parancs egy egyszerű karakterlánc-kimenetet ad vissza a sikeres végrehajtás során.