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.