Redis LPOP

Redis LPOP

L'elenco Redis è una sequenza ordinata di stringhe. Può contenere fino a quattro miliardi di elementi di stringa. Generalmente, gli elenchi di Redis vengono utilizzati per implementare code, stack e manager di code per lavori in background. Redis è un negozio di valore chiave ma supporta ancora una struttura di dati di lista collegata che è una caratteristica unica di Redis tra gli altri negozi di dati di valore chiave. Gli elementi possono essere spinti sia dalla testa che dalla coda. Le operazioni di Redis List operano in costante complessità del tempo alla testa o alla coda che è altamente efficiente.

Inoltre, un elenco di Redis può essere confrontato con l'elenco di array Java, l'array Javascript o l'elenco Python.

Redis LPOP Comando rivelato

Il comando LPOP rimuove o elimina gli elementi dalla testa di un elenco Redis specificato. Per impostazione predefinita, tocca il primo elemento dalla testa o dalla parte anteriore dell'elenco che è altamente efficiente perché le operazioni di Redis List sulla testa o sulla coda operano in costante complessità del tempo. Inoltre, il comando LPOP accetta un argomento di conteggio opzionale che lo costringe a rimuovere un numero specifico di elementi dall'inizio della testa dell'elenco. L'argomento del conteggio opzionale è stato aggiunto al comando Redis LPOP dalla versione 6.2.0.

Diamo un'occhiata rapida alla sintassi del comando LPOP.

LPOP KEY_OF_LIST 1

Key_of_list: Il nome della chiave dell'elenco Redis

CONTARE: Il numero di elementi da rimuovere dalla testa/fronte dell'elenco memorizzato nella chiave specificata key_of_list.

Quando l'argomento di conteggio non è specificato, il comando LPOP restituisce un singolo elemento scoppiato dalla parte anteriore dell'elenco memorizzato nella chiave specificata. Ogni volta che l'argomento del conteggio viene specificato insieme alla chiave dell'elenco Redis, il comando LPOP restituisce l'array di elementi scoppiati al client.

Caso d'uso: implementazione di una coda con Redis Elenco e comando LPOP

Generalmente, la coda è una struttura di dati che si comporta nella natura prima in primo luogo. Gli elenchi di Redis possono essere utilizzati per implementare il comportamento di una coda usando il comando LPOP insieme al comando RPUSH.

Creiamo un elenco chiamato 'Pazienti' Aggiungendo cinque elementi come mostrato nel seguente. Poiché ci stiamo concentrando su una coda, il comando RPUSH dovrebbe essere usato per inserire ogni nuovo elemento dalla coda dell'elenco.

Pazienti rpush "Derek" "Mary" "Nishu" "Jack" "Chan"

Possiamo ispezionare il Pazienti Elenco come segue:

Supponiamo che il primo paziente sia già servito dall'ospedale. Quindi, rimuoveremo la prima persona dalla coda usando il comando LPOP come segue.

Pazienti LPOP

Questo dovrebbe rimuovere il "Derek" dalla coda e restituirlo come segue perché il comando LPOP rimuove un singolo elemento dalla testa dell'elenco per impostazione predefinita.

Possiamo ispezionare la coda risultante usando il comando LRANGE come mostrato nel seguente:

Pazienti con lrange 0 -1

"Derek" è già saltato dalla coda e rimangono solo quattro elementi. Quindi, Mary è la prima persona in coda ora.

Supponiamo uno scenario in cui sia Mary che Nishu sono serviti insieme dando un vaccino. Quindi, dovremmo rimuovere entrambi i pazienti immediatamente usando il comando LPOP come segue:

Pazienti LPOP 2

L'argomento del conteggio è 2 nel comando sopra che dovrebbe far scoppiare i primi due elementi da Pazienti coda.

Possiamo ispezionare la coda usando il comando LRANGE come segue:

Come previsto, Mary e Nishu sono stati rimossi dall'elenco di Redis.

Ci sono alcuni casi in cui il tasto dell'elenco specificato non è disponibile nel Redis Data Store. In tal caso, il comando LPOP restituisce zero Output come segue:

LPOP nonxistingKey

Allo stesso modo, l'elenco Redis e il comando LPOP possono essere utilizzati per implementare le code di lavoro in background in un sistema. Inoltre, il comando LPOP ha la sua variante di blocco nota come BLPOP che blocca il client fino a quando non è disponibile un elemento nell'elenco o nel timeout. L'RPOP è la versione opposta del comando LPOP che rimuove gli elementi dalla coda dell'elenco Redis.

Conclusione

In sintesi, il comando LPOP opera sulle strutture dei dati dell'elenco Redis. Per impostazione predefinita, rimuove il primo elemento dell'elenco specificato e restituisce l'elemento al client. Come discusso, il comando LPOP richiede solo un tempo costante per operare sulla testa o sulla coda di un elenco che è altamente efficiente. Il numero di elementi da rimuovere dall'elenco può essere specificato facoltativamente insieme alla chiave dell'elenco. Il comando LPOP viene utilizzato in diverse applicazioni per implementare code, stack e manager di code per lavori in background. Nel complesso, il comando Redis LPOP si comporta esattamente come il comando RPOP ma nella testa o sul lato anteriore di un determinato elenco.