Ravanello LSET

Ravanello Lset



Un elenco Redis è una struttura di dati che contiene una sequenza di elementi stringa nell'ordine di inserimento. Si basa sull'elenco collegato. Quindi, l'inserimento di un elemento in testa e in coda viene eseguito a tempo costante. L'unico aspetto negativo delle liste Redis è che interrogare gli elementi tramite un indice è un po' costoso, il che richiede tempo direttamente proporzionale all'indice dell'elemento che accede. Il motivo alla base dell'implementazione basata su elenchi collegati è rendere più veloce l'inserimento dei dati per un elenco di elementi molto lungo.

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









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



Il comando LSET

Il comando LSET imposta un elemento in corrispondenza dell'indice specificato di un elenco Redis archiviato nella chiave specificata. Ha la seguente semplice sintassi:





LSET elemento di indice list_key

chiave_lista : La chiave dell'elenco Redis.

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



elemento : l'elemento stringa da impostare sull'indice specificato.

Questo comando restituisce una stringa semplice 'OK' se l'elemento è stato impostato correttamente. Ogni volta che rileva un indice che non rientra nell'intervallo, il comando LSET restituisce un errore.

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

Caso d'uso: aggiorna i post sui social media

Supponiamo 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 individuato che le liste Redis sono il candidato idoneo a ricoprire questi incarichi e stati in cui avviene un inserimento frequente e le liste Redis effettuano 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:user:100 '2022-08-05:Started new job at linuxhint'
LPUSH social-media:utente:100 '2022-08-06:Grande festa oggi'
LPUSH social-media:utente:100 '2022-08-07:Bad day!!!'

Produzione

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

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

LSET social-media:user:100 2 'Iniziato un nuovo ruolo come scrittore in LinuxHint'

Produzione

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

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

LSET social-media:user:100 -2 'Iniziato un nuovo ruolo come scrittore in LinuxHint'

Come previsto, il terzo elemento è stato impostato sulla nuova stringa “Job started at LinuxHINT”.

Se specifichi un indice che non rientra nell'intervallo, verrà generato un errore, come illustrato di seguito:

LSET social-media:user:100 6 'Lavoro iniziato su LinuxHINT'

Produzione

Conclusione

Il comando LSET imposta un elemento dell'elenco in un indice specificato su un determinato elemento dell'elenco Redis archiviato 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 che iniziano 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 non esistente, il comando LSET restituirà un errore. Inoltre, questo comando restituisce un semplice output di stringa sull'esecuzione riuscita.