Reddik LSET

Reddik Lset



En Redis-liste er en datastruktur som inneholder en sekvens av strengelementer i innsettingsrekkefølgen. Den er basert på Linked List. Så innsettingen av et element ved hodet og halen utføres i konstant tid. Den eneste ulempen med Redis-listene er at det er litt kostbart å spørre elementer etter en indeks, noe som tar tid direkte proporsjonalt med indeksen til tilgangselementet. Årsaken bak den koblede listebaserte implementeringen er å gjøre datainnsettingen raskere for en veldig lang liste med elementer.

Redis-lister har 0-basert indeksering. Det første elementet er utpekt som 0 th indeks; den andre er på 1 st indeks og så videre. Å få tilgang til haleelementer med indeksene er mulig med negative indekser som det siste elementet er indeksert som -1, det nest siste elementet er -2, og så videre.









Listeelementene kan settes til enhver gitt indeks med LSET-kommandoen, som er beskrevet i følgende avsnitt.



LSET-kommandoen

LSET-kommandoen setter et element ved den gitte indeksen til en Redis-liste lagret på den angitte nøkkelen. Den har følgende enkle syntaks:





LSET list_key indekselement

liste_nøkkel : Nøkkelen til Redis-listen.

indeks : Indeksen der du må sette et element.



element : Strengelementet som skal settes til den angitte indeksen.

Denne kommandoen returnerer en enkel streng 'OK' hvis elementet er riktig satt. Når den støter på en indeks som er utenfor området, returnerer LSET-kommandoen en feil.

En av de vanligste brukstilfellene av Redis-listene er å lagre innlegg på sosiale medier og deres oppdateringer for individuelle brukere. LSET-kommandoen spiller en viktig rolle der, som diskutert i den følgende delen.

Use Case – Oppdater innlegg på sosiale medier

La oss anta en begivenhet der et selskap opprettholder sin egen nettside for sosiale medier med tusenvis av brukere som aktivt legger ut innlegg og statuser. De har identifisert at Redis-listene er den egnede kandidaten til å inneha disse stillingene og statusene der hyppig innsetting skjer, og Redis-listene utfører innsetting i konstant tid.

La oss lage en Redis-liste for en gitt bruker-ID 100 som vil bli brukt til å lagre den aktuelle brukerens innlegg og statusmeldinger. Vi vil bruke LPUSH-kommandoen til å legge inn noen dummy-innlegg og statusmeldinger for bruker-ID 100.

LPUSH social-media:user:100 '2022-08-01:Fin dag å starte.'
LPUSH social-media:user:100 '2022-08-05:Startet ny jobb hos linuxhint'
LPUSH sosiale medier:bruker:100 '2022-08-06:Flott fest i dag'
LPUSH sosiale medier:bruker:100 '2022-08-07:Dårlig dag!!!'

Produksjon

Anta at brukeren med bruker-ID 100 vil oppdatere et av sine gamle innlegg. Anta at det tredje innlegget han har lagt ut trenger litt korrigering. LSET-kommandoen kan enkelt oppnå dette, som vist i det følgende.

Siden det tredje elementet er på indeks 2 fra hodet. Vi vil oppdatere den som følger:

LSET social-media:user:100 2 'Startet ny rolle som skribent på LinuxHint'

Produksjon

Som forventet ble kommandoen utført vellykket, og elementet i den andre indeksen ble oppdatert. La oss sjekke listen på nytt som følger:

Vi kan gjøre det samme ved å spesifisere indeksen fra halen som følger:

LSET social-media:user:100 -2 'Startet ny rolle som skribent på LinuxHint'

Som forventet er det tredje elementet satt til den nye strengen 'Job startet på LinuxHINT'.

Hvis du spesifiserer en indeks som er utenfor området, vil det oppstå en feil, som vist i følgende:

LSET sosiale medier:bruker:100 6 'Jobb startet hos LinuxHINT'

Produksjon

Konklusjon

LSET-kommandoen setter et listeelement ved en spesifisert indeks til et gitt element i Redis-listen lagret ved en gitt nøkkel. Siden Redis-listeindeksene starter fra 0, er det det første elementet. Indeks 1 er det andre elementet på listen, og så videre. Som diskutert kan indeksene til elementene som starter fra halen spesifiseres ved å bruke negative tall som -1 er det siste elementet, -2 er elementet før det siste, og så videre. Hver gang en ikke-eksisterende indeks sendes, vil LSET-kommandoen returnere en feil. Videre returnerer denne kommandoen en enkel strengutgang over vellykket kjøring.