Radijs LSET

Radijs Lset



Een Redis-lijst is een gegevensstructuur die een reeks tekenreekselementen in de invoegvolgorde bevat. Het is gebaseerd op de gekoppelde lijst. Het inbrengen van een element aan de kop en de staart wordt dus in constante tijd uitgevoerd. Het enige nadeel van de Redis-lijsten is dat het opvragen van elementen door een index een beetje duur is, wat tijd kost die recht evenredig is met de index van het toegangselement. De reden achter de op gekoppelde lijsten gebaseerde implementatie is om de gegevensinvoer sneller te maken voor een zeer lange lijst met items.

Redis-lijsten hebben indexering op basis van 0. Het eerste element wordt aangeduid als de 0 e inhoudsopgave; de tweede is op de 1 st indexen, enzovoort. Toegang tot staartelementen met de indexen is mogelijk met negatieve indices, zoals het laatste element is geïndexeerd als -1, het voorlaatste element is -2, enzovoort.









De lijstelementen kunnen op elke willekeurige index worden ingesteld met het LSET-commando, dat in de volgende sectie wordt beschreven.



Het LSET-commando

Het LSET-commando stelt een element in op de gegeven index van een Redis-lijst die is opgeslagen op de opgegeven sleutel. Het heeft de volgende eenvoudige syntaxis:





LSET list_key indexelement

list_key : De sleutel van de Redis-lijst.

inhoudsopgave : De index waar u een element moet instellen.



element : Het tekenreekselement dat moet worden ingesteld op de opgegeven index.

Deze opdracht retourneert een eenvoudige tekenreeks 'OK' als het element correct is ingesteld. Telkens wanneer het een index tegenkomt die buiten het bereik ligt, retourneert het LSET-commando een fout.

Een van de meest voorkomende gebruiksscenario's van de Redis-lijsten is het opslaan van posts op sociale media en hun updates voor individuele gebruikers. Het LSET-commando speelt daarbij een belangrijke rol, zoals besproken in de volgende paragraaf.

Use Case - Update sociale media-berichten

Laten we uitgaan van een evenement waarbij een bedrijf zijn eigen website voor sociale media onderhoudt met duizenden gebruikers die actief berichten en statussen plaatsen. Ze hebben vastgesteld dat de Redis-lijsten de geschikte kandidaat zijn om deze functies en statussen te behouden waar frequente invoeging plaatsvindt, en de Redis-lijsten voeren de invoeging constant uit.

Laten we een Redis-lijst maken voor een bepaalde gebruikers-ID 100 die zal worden gebruikt om de berichten en statusberichten van die specifieke gebruiker op te slaan. We zullen het LPUSH-commando gebruiken om enkele dummy-berichten en statusberichten voor gebruikers-ID 100 te plaatsen.

LPUSH social-media:user:100 '2022-08-01:Mooie dag om te beginnen.'
LPUSH social-media:user:100 '2022-08-05:Begin nieuwe baan bij linuxhint'
LPUSH social-media:user:100 '2022-08-06:Groot feest vandaag'
LPUSH social-media:user:100 '2022-08-07:Bad day!!!'

Uitgang:

Stel dat de gebruiker met gebruikers-ID 100 een van zijn oude berichten zal bijwerken. Stel dat het derde bericht dat hij heeft gepost enige correctie nodig heeft. Het LSET-commando kan dit eenvoudig bereiken, zoals hieronder wordt getoond.

Aangezien het derde element op index 2 van het hoofd staat. We zullen het als volgt bijwerken:

LSET social-media:user:100 2 'Begon nieuwe rol als schrijver bij LinuxHint'

Uitgang:

Zoals verwacht is de opdracht met succes uitgevoerd en is het element bij de tweede index bijgewerkt. Laten we de lijst als volgt opnieuw controleren:

We kunnen hetzelfde doen door de index van de staart als volgt te specificeren:

LSET social-media:user:100 -2 'Nieuwe rol begonnen als schrijver bij LinuxHint'

Zoals verwacht is het derde element ingesteld op de nieuwe string 'Job begon bij LinuxHINT'.

Als u een index opgeeft die buiten het bereik ligt, wordt er een fout gegenereerd, zoals hieronder wordt weergegeven:

LSET social-media:user:100 6 'Taak begonnen bij LinuxHINT'

Uitgang:

Conclusie

Het LSET-commando stelt een lijstelement op een gespecificeerde index in op een bepaald element van de Redis-lijst die is opgeslagen op een bepaalde toets. Aangezien de Redis-lijstindexen beginnen bij 0, is dit het eerste element. Index 1 is het tweede element van de lijst, enzovoort. Zoals besproken, kunnen de indexen van de elementen vanaf de staart worden gespecificeerd met behulp van negatieve getallen zoals -1 is het laatste element, -2 is het element voor het laatste, enzovoort. Telkens wanneer een niet-bestaande index wordt doorgegeven, retourneert het LSET-commando een fout. Bovendien retourneert deze opdracht een eenvoudige tekenreeksuitvoer over de succesvolle uitvoering.