Redīsi LSET

Redisi Lset



Redis saraksts ir datu struktūra, kas satur virknes elementu secību ievietošanas secībā. Tas ir balstīts uz saistīto sarakstu. Tātad elementa ievietošana pie galvas un astes tiek veikta nemainīgā laikā. Vienīgais Redis sarakstu mīnuss ir tas, ka elementu vaicāšana pēc indeksa ir nedaudz dārga, kas prasa laiku, kas ir tieši proporcionāls piekļuves elementa indeksam. Saistītā saraksta ieviešanas iemesls ir paātrināt datu ievietošanu ļoti garam vienumu sarakstam.

Redis sarakstiem ir 0 balstīta indeksācija. Pirmais elements ir apzīmēts ar 0 th indekss; otrais atrodas 1 st indekss un tā tālāk. Piekļuve astes elementiem ar indeksiem ir iespējama ar negatīviem indeksiem, piemēram, pēdējais elements ir indeksēts kā -1, priekšpēdējais elements ir -2 utt.









Saraksta elementus var iestatīt jebkurā noteiktā indeksā ar komandu LSET, kas aprakstīta nākamajā sadaļā.



LSET komanda

Komanda LSET iestata elementu norādītajā Redis saraksta indeksā, kas saglabāts norādītajā atslēgā. Tam ir šāda vienkārša sintakse:





LSET list_key indeksa elements

list_key : Redis saraksta atslēga.

rādītājs : indekss, kurā jāiestata elements.



elements : virknes elements, kas jāiestata norādītajā indeksā.

Šī komanda atgriež vienkāršu virkni “OK”, ja elements ir iestatīts pareizi. Ikreiz, kad tā saskaras ar indeksu, kas ir ārpus diapazona, komanda LSET atgriež kļūdu.

Viens no visizplatītākajiem Redis sarakstu izmantošanas gadījumiem ir sociālo mediju ziņu un to atjauninājumu glabāšana atsevišķiem lietotājiem. LSET komandai šeit ir svarīga loma, kā aprakstīts nākamajā sadaļā.

Lietošanas gadījums — atjauniniet sociālo mediju ziņas

Pieņemsim notikumu, kurā uzņēmums uztur savu sociālo mediju vietni, kurā tūkstošiem lietotāju aktīvi publicē ziņas un statusus. Viņi ir noskaidrojuši, ka Redis saraksti ir piemēroti kandidāti šo amatu un statusu ieņemšanai, ja tie tiek bieži ievietoti, un Redis saraksti ievietošanu veic nemainīgā laikā.

Izveidosim Redis sarakstu konkrētam lietotāja ID 100, kas tiks izmantots, lai saglabātu konkrētā lietotāja ziņas un statusa ziņojumus. Mēs izmantosim komandu LPUSH, lai ievietotu dažus fiktīvus ziņojumus un statusa ziņojumus lietotāja ID 100.

LPUSH social-media:user:100 '2022-08-01:Jauka diena, lai sāktu.'
LPUSH social-media:user:100 '2022-08-05:Uzsācis jaunu darbu uzņēmumā linuxhint'
LPUSH social-media:user:100 '2022-08-06:Lieliska ballīte šodien'
LPUSH social-media:user:100 '2022-08-07:Slikta diena!!!'

Izvade

Pieņemsim, ka lietotājs ar lietotāja ID 100 atjauninās kādu no savām vecajām ziņām. Pieņemsim, ka trešajam viņa publicētajam ierakstam ir nepieciešams kāds labojums. LSET komanda to var viegli sasniegt, kā parādīts tālāk.

Tā kā trešais elements atrodas indeksā 2 no galvas. Mēs to atjaunināsim šādi:

LSET social-media:user:100 2 'Sākusi jaunu rakstnieka lomu uzņēmumā LinuxHint'

Izvade

Kā gaidīts, komanda tika veiksmīgi izpildīta, un otrā indeksa elements tika atjaunināts. Pārbaudīsim sarakstu šādi:

Mēs varam darīt to pašu, norādot indeksu no astes šādi:

LSET social-media:user:100 -2 'Sākusi jaunu rakstnieka lomu LinuxHint'

Kā gaidīts, trešais elements ir iestatīts uz jauno virkni “Darbs sākās LinuxHINT”.

Ja norādāt indeksu, kas ir ārpus diapazona, tiks parādīts kļūdas ziņojums, kā parādīts tālāk.

LSET social-media:user:100 6 'Darbs sākās LinuxHINT'

Izvade

Secinājums

Komanda LSET iestata saraksta elementu noteiktā indeksā uz Redis saraksta noteiktu elementu, kas glabājas pie noteiktās atslēgas. Tā kā Redis saraksta indeksi sākas ar 0, tas ir pirmais elements. 1. rādītājs ir otrais saraksta elements utt. Kā minēts, elementu indeksus, sākot no astes, var norādīt, izmantojot negatīvus skaitļus, piemēram, -1 ir pēdējais elements, -2 ir elements pirms pēdējā un tā tālāk. Ikreiz, kad tiek nodots neesošs indekss, komanda LSET atgriezīs kļūdu. Turklāt šī komanda pēc veiksmīgas izpildes atgriež vienkāršu virknes izvadi.