Redis LPOP

Redis LPOP

Lista Redis é uma sequência ordenada de strings. Pode manter até quatro bilhões de elementos de cordas. Geralmente, as listas Redis são usadas para implementar filas, pilha e gerentes de fila para trabalhos de fundo. Redis é uma loja de valor-chave, mas ainda suporta uma estrutura de dados da lista vinculada, que é um recurso exclusivo do redis, entre outros lojas de dados de valor-chave. Os elementos podem ser empurrados da cabeça e da cauda. Operações da Lista de Redis operam em constante complexidade do tempo na cabeça ou na cauda, ​​que é altamente eficiente.

Além disso, uma lista Redis pode ser comparada à lista de matrizes Java, JavaScript Array ou Python.

Comando Redis LPOP revelado

O comando LPOP remove ou exclui itens da cabeça de uma lista Redis especificada. Por padrão, ele aparece o primeiro elemento da cabeça ou da frente da lista, que é altamente eficiente porque as operações da lista Redis na cabeça ou na cauda operam em constante complexidade do tempo. Além disso, o comando LPOP aceita um argumento de contagem opcional que o força a remover um número especificado de elementos desde o início da cabeça da lista. O argumento da contagem opcional foi adicionado ao comando Redis LPOP da versão 6.2.0.

Vamos dar uma rápida olhada na sintaxe do comando LPOP.

LPOP key_of_list 1

Key_of_list: O nome da chave da lista Redis

CONTAR: O número de elementos a serem removidos da cabeça/frente da lista armazenada na chave especificada key_of_list.

Quando o argumento da contagem não é especificado, o comando LPOP retorna um único elemento estourado da frente da lista armazenada na tecla especificada. Sempre que o argumento da contagem é especificado juntamente com a chave da lista Redis, o comando LPOP retorna a matriz de elementos estourados ao cliente.

Caso de uso: implementando uma fila com a lista Redis e o comando LPOP

Geralmente, a fila é uma estrutura de dados que se comporta na primeira natureza da primeira saída. As listas Redis podem ser usadas para implementar o comportamento de uma fila usando o comando LPOP junto com o comando rpush.

Vamos criar uma lista chamada 'Pacientes' adicionando cinco elementos como mostrado no seguinte. Como estamos nos concentrando em uma fila, o comando rpush deve ser usado para inserir todos os novos itens da cauda da lista.

Pacientes RPush "Derek" "Mary" "Nishu" "Jack" "Chan"

Podemos inspecionar o Pacientes Lista da seguinte maneira:

Vamos supor que o primeiro paciente já esteja servido pelo hospital. Portanto, removeremos a primeira pessoa da fila usando o comando LPOP da seguinte maneira.

Pacientes com LPOP

Isso deve remover o "Derek" da fila e devolvê -lo da seguinte maneira, porque o comando LPOP remove um único elemento da cabeça da lista por padrão.

Podemos inspecionar a fila resultante usando o comando lRange, conforme mostrado no seguinte:

LRANGE PACIENTES 0 -1

"Derek" já saiu da fila e apenas quatro elementos estão restantes. Então, Mary é a primeira pessoa na fila agora.

Vamos supor um cenário em que Mary e Nishu sejam servidos juntos, dando uma vacina. Portanto, devemos remover os dois pacientes imediatamente usando o comando LPOP da seguinte forma:

Pacientes com LPOP 2

O argumento da contagem é 2 no comando acima que deve aparecer os dois primeiros elementos do Pacientes fila.

Podemos inspecionar a fila usando o comando lRange da seguinte forma:

Como esperado, Mary e Nishu foram removidos da lista Redis.

Existem alguns casos em que a chave da lista especificada não está disponível no Redis Data Store. Nesse caso, o comando LPOP retorna nada saída da seguinte maneira:

LPOP que não existe

Da mesma forma, a lista Redis e o comando LPOP podem ser usados ​​para implementar filas de trabalho em segundo plano em um sistema. Além disso, o comando LPOP possui sua variante de bloqueio conhecida como BLPOP que bloqueia o cliente até que um elemento esteja disponível na lista ou o tempo limite seja alcançado. O RPOP é a versão oposta do comando LPOP que remove os elementos da lista da cauda da Redis.

Conclusão

Em resumo, o comando LPOP opera no Redis List Data Structures. Por padrão, ele remove o primeiro elemento da lista especificada e retorna o elemento ao cliente. Conforme discutido, o comando LPOP leva apenas um tempo constante para operar na cabeça ou na cauda de uma lista que é altamente eficiente. O número de elementos a serem removidos da lista pode ser especificado opcionalmente junto com a chave da lista. O comando LPOP é usado em diferentes aplicativos para implementar filas, pilhas e gerentes de fila para trabalhos de fundo. No geral, o comando Redis LPOP se comporta exatamente o mesmo que o comando rpop, mas na cabeça ou na frente de uma determinada lista.