Redis BLPOP

Redis BLPOP
Este artigo aprenderá como usar o comando Redis BLPOP para gerenciar listas. Em Redis, uma lista nada mais é do que uma coleção de valores de string classificados pela ordem de inserção.

As listas são alguns dos tipos mais comuns e valiosos em Redis. Não apenas porque eles oferecem uma melhor experiência de memória em comparação com outros tipos como hashes, mas porque são fáceis de usar e gerenciar.

Vamos começar com o básico.

Redis Create List

Como o Redis é um banco de dados de valor-chave, precisamos criar uma chave para manter uma lista de elementos.

Redis usa o conceito de esquerda e direita para adicionar e remover elementos. Então, por exemplo, para adicionar um item à esquerda da lista, usamos o comando lpush. Para inserção correta, use o comando rpush.

Veja o exemplo mostrado abaixo:

127.0.0.1: 6379> LPUSH Languages ​​Python
(Inteiro) 1

No comando de exemplo acima, usamos o comando lpush para criar uma nova chave segurando um elemento na lista.

Após a criação, podemos adicionar elementos como mostrado nos comandos de exemplo abaixo:

127.0.0.1: 6379> LPUSH LANGUEMS JAVASCCRIPT OCAML ELIXIR C C++

Nota: Você também pode usar o comando rpush, como mostrado no exemplo abaixo:

127.0.0.1: 6379> RPUSH Languages ​​SQL Java C#

Lembre -se de que a ordem de inserção é importante em uma lista.

Dica: uma única lista em Redis pode manter até 4 bilhões de elementos.

Itens de lista de recuperação Redis

Para buscar os elementos armazenados em uma lista, usamos o comando lRange seguido pelos valores de partida e final de deslocamento. O deslocamento, neste caso, representa o índice do elemento na lista.

A indexação para uma lista Redis começa em 0.

Por exemplo, para recuperar todos os elementos do índice 0, podemos executar o comando:

127.0.0.1: 6379> Languages ​​LRANGE 0 -1

Passando a lista Iniciar o deslocamento como 0 e o último deslocamento, pois -1 retorna todos os elementos da lista.

O comando deve retornar os elementos da lista, como mostrado:

1) “C ++”

2) “C”

3) “Elixir”

4) “OCAML”

5) “JavaScript”

6) “Python”

7) “SQL”

8) “Java”

9) “C#”

Comandos Redis LPOP e BLPOP

Quando se trata de remover elementos em uma lista, você encontrará dois comandos principais:

LPOP e BLOP.

Nota: Você pode aprender sobre o comando lrem neste artigo <- click here.

O comando LPOP removerá e retornará o primeiro elemento na lista. Um exemplo de uso é como mostrado abaixo:

127.0.0.1: 6379> idiomas LPOP
"C ++"

Como o comando LPOP retorna o valor real removido, ele é adequado para rastrear mudanças em seu aplicativo.

O comando BLPOP, por outro lado, é a versão de bloqueio do comando LPOP. Ele remove e retorna o primeiro elemento em uma lista. No entanto, diferentemente do comando LPOP, ele bloqueia a conexão para uma duração especificada até que um esteja disponível.

Considere o exemplo mostrado abaixo:

127.0.0.1: 6379> BLPOP MYKEY 10

Passamos uma chave inexistente para o comando BLPOP no comando de exemplo acima. Também especificamos a duração do bloco como 10 segundos. Se não houver elemento disponível na lista especificada após a decorrência, o comando retorna nil.

O comando acima deve retornar (após 10 segundos).

127.0.0.1: 6379> BLPOP MYKEY 10
(nada)
(10.05s)

Se o elemento existir na lista especificada, ele exclui e o devolve como mostrado:

127.0.0.1: 6379> Linguagens BLPOP 10
1) "Línguas"
2) "C"

Nesse caso, o comando retorna a chave da qual ele exclui um elemento e o elemento real removido.

Não espera que a duração especificada seja decorrida.

Conclusão

Este tutorial abordou as listas Redis e como usá -las em seu banco de dados. Discutimos: Criando uma lista Redis, adicionando elementos, recuperando elementos da lista e removendo chaves de uma lista.

Obrigado pela leitura!!