Usando a lista Redis

Usando a lista Redis

Redis nos fornece uma estrutura de dados de lista para armazenar uma coleção de itens. É intimamente semelhante a uma matriz típica na maioria das linguagens de programação. Depois de adicionar um elemento a uma lista, o Redis atribuirá um valor de índice a partir do índice 0.

Vamos aprender como podemos usar e trabalhar com listas em redis.

Requisitos:

Este tutorial pressupõe que você tenha a versão mais recente do servidor Redis instalado e configurado em seu sistema.

Recomendamos o uso do Redis CLI para obter a máxima compatibilidade e saída semelhante.

Redis Create List

Usamos os comandos rpush e lpush para criar uma lista em redis. Redis usa o conceito de cabeça e cauda para adicionar elementos à lista.

Rpush adiciona um elemento à direita da lista, enquanto o comando lpush adiciona um elemento à esquerda.

A sintaxe dos comandos é como mostrado:

Valor da chave rpush1 Valor2 Value3… Valuen
Valor da chave lpush1 Valor2 Value3… Valuen

Por exemplo, criamos uma lista que contém bancos de dados como mostrado:

127.0.0.1: 6379> Bancos de dados RPUSH MySQL PostGresql Cassandra
(Inteiro) 3

O comando acima criará uma nova lista chamada bancos de dados e adicionará três elementos. Ele retorna um valor inteiro que denota quantos elementos foram adicionados à lista.

O mesmo caso se aplica ao comando lpush.

Redis Get Itens List

Para obter elementos em um redis, use o comando lRange. Este comando leva o nome da lista e o intervalo de índice do elemento que você deseja acessar.

A sintaxe é como mostrado abaixo:

LRange Key start_offset stop_offset

Por exemplo, para obter os elementos do índice 0 para o índice 3, podemos fazer:

127.0.0.1: 6379> Bancos de dados LRange 0 3
1) "MySQL"
2) "PostGresql"
3) "Cassandra"

O comando deve retornar os valores dos elementos no intervalo especificado.

OBSERVAÇÃO: Em Redis, os índices começam em 0. Portanto, o primeiro elemento da lista está no índice 0.

Se você deseja obter todos os elementos em uma lista, podemos usar indexação negativa. Por exemplo, se você acessar elementos do índice 0 a -1, Redis retornará todos os elementos da lista.

Um exemplo é como mostrado:

127.0.0.1: 6379> Bancos de dados LRange 0 -1
1) "MySQL"
2) "PostGresql"
3) "Cassandra"

Você também pode acessar o item em um índice específico usando o comando Lindex. Um exemplo é como mostrado:

127.0.0.1: 6379> Bancos de dados Lindex 0
"MySql"

O comando acima retorna o item armazenado no índice 0 na lista especificada.

Redis Obtenha o número de elementos em uma lista

Para obter o número total de elementos em uma lista, podemos usar o comando llen. A sintaxe é como mostrado abaixo:

Chave Llen

Um exemplo de uso do comando é como mostrado abaixo:

127.0.0.1: 6379> Bancos de dados LLEN
(Inteiro) 3

O comando deve retornar um número inteiro com o número de elementos na lista.

Redis Excluir elemento da lista

Podemos usar os comandos LPOP e RPOP para remover um item da lista. Esses comandos removem o último elemento à esquerda e à direita da lista, respectivamente.

Exemplo:

127.0.0.1: 6379> Bancos de dados LPOP
"MySql"

Nesse caso, o comando remove e retorna o último elemento à esquerda da lista. Simplificando, ele remove o primeiro elemento da lista.

Para remover o último elemento da lista, podemos usar o comando rpop.

127.0.0.1: 6379> Bancos de dados RPOP
"Cassandra"

Você também pode especificar quantos elementos à direita ou esquerda da lista deseja remover. Por exemplo, para remover três itens da esquerda da lista, execute o comando.

127.0.0.1: 6379> Bancos de dados LPOP 3
1) "Cassandra"
2) "MySQL"
3) "PostGresql"

O comando remove e retorna os elementos removidos.

Redis Remove a lista inteira

Se você deseja limpar uma lista inteira, pode usar o comando del seguido pelo nome da lista.

Exemplo:

127.0.0.1: 6379> Del Bathabases
(Inteiro) 1

Se a lista especificada existir no banco de dados, o Redis o removerá e retornará o número inteiro 1.

Conclusão

Neste artigo, abordamos um dos famosos e valiosos tipos de dados em redis. Usando listas, você pode criar tipos de coleção sem incorrer em uso de memória pesada.

Obrigado pela leitura!!