Redis Lset

Redis Lset
Un elenco di Redis è una struttura di dati che contiene una sequenza di elementi di stringa nell'ordine di inserimento. Si basa sull'elenco collegato. Quindi, l'inserimento di un elemento sulla testa e sulla coda viene eseguito in tempo costante. L'unico aspetto negativo degli elenchi di Redis è che gli elementi di query da parte di un indice sono un po 'costosi, il che richiede tempo direttamente proporzionale all'indice dell'elemento di accesso. Il motivo alla base dell'implementazione basata sull'elenco collegato è rendere più veloce l'inserimento dei dati per un elenco molto lungo di elementi.

Gli elenchi di Redis hanno indicizzazione basata su 0. Il primo elemento è designato come 0th indice; Il secondo è al 1st indice, e così via. L'accesso agli elementi di coda con gli indici è possibile con indici negativi come l'ultimo elemento è indicizzato come -1, l'elemento penultimo è -2 e così via.

Gli elementi dell'elenco possono essere impostati su qualsiasi indice dato con il comando LSET, che è descritto nella sezione seguente.

Il comando LSET

Il comando LSET imposta un elemento nell'indice dato di un elenco Redis memorizzato nella chiave specificata. Ha la seguente semplice sintassi:

Elemento indice LSET list_key

list_key: La chiave dell'elenco Redis.

indice: L'indice in cui è necessario impostare un elemento.

elemento: L'elemento stringa da impostare nell'indice specificato.

Questo comando restituisce una semplice stringa "ok" se l'elemento è stato impostato correttamente. Ogni volta che incontra un indice fuori dall'intervallo, il comando LSET restituisce un errore.

Uno dei casi d'uso più comuni degli elenchi di Redis è quello di archiviare i post sui social media e i loro aggiornamenti per i singoli utenti. Il comando LSET svolge un ruolo importante lì, come discusso nella sezione seguente.

Caso d'uso: aggiorna i post sui social media

Supponiamo che un evento in cui un'azienda mantiene il proprio sito Web di social media con migliaia di utenti che pubblicano attivamente post e stati. Hanno identificato che gli elenchi di Redis sono il candidato adatto per tenere questi posti e stati in cui si verifica un inserimento frequente e le liste Redis eseguono l'inserimento in tempo costante.

Creiamo un elenco Redis per un determinato ID utente 100 che verrà utilizzato per archiviare i post e i messaggi di stato di quel particolare utente. Useremo il comando LPUSH per inserire alcuni post fittizi e messaggi di stato per l'ID utente 100.

Lpush Social-Media: Utente: 100 "2022-08-01: bella giornata per iniziare."
Lpush Social-Media: Utente: 100 "2022-08-05: ha avviato un nuovo lavoro su Linuxhint"
Lpush Social-Media: Utente: 100 "2022-08-06: Great Party Today"
Lpush Social-Media: Utente: 100 "2022-08-07: brutta giornata!!!"

Produzione

Supponiamo che l'utente con ID utente 100 aggiornerà uno dei suoi vecchi post. Supponiamo che il terzo post che ha pubblicato abbia bisogno di una correzione. Il comando LSET può facilmente raggiungere questo obiettivo, come mostrato nel seguente.

Poiché il terzo elemento è all'indice 2 dalla testa. Lo aggiorneremo come segue:

LSET social-media: utente: 100 2 "ha iniziato un nuovo ruolo come scrittore di Linuxhint"

Produzione

Come previsto, il comando è stato eseguito correttamente e l'elemento al secondo indice è stato aggiornato. Ricontriamo l'elenco come segue:

Possiamo fare lo stesso specificando l'indice dalla coda come segue:

LSET social -media: utente: 100 -2 "ha iniziato un nuovo ruolo come scrittore di Linuxhint"

Come previsto, il terzo elemento è stato impostato sulla nuova stringa "Giobbe iniziato a Linuxhint".

Se si specifica un indice fuori portata, aumenterà un errore, come mostrato da segue:

LSET Social-media: Utente: 100 6 "Giobbe iniziato a LinuxHint"

Produzione

Conclusione

Il comando LSET imposta un elemento elenco in un indice specificato su un determinato elemento dell'elenco Redis memorizzato in una determinata chiave. Poiché gli indici dell'elenco Redis iniziano da 0, è il primo elemento. L'indice 1 è il secondo elemento dell'elenco e così via. Come discusso, gli indici degli elementi a partire dalla coda possono essere specificati usando numeri negativi come -1 è l'ultimo elemento, -2 è l'elemento prima dell'ultimo e così via. Ogni volta che viene passato un indice inesistente, il comando LSET restituirà un errore. Inoltre, questo comando restituisce un semplice output di stringa sulla corretta esecuzione.