Quando você tiver o Redis instalado e funcionando, poderá começar a usá-lo!
A maneira mais simples é usar
redis-cli
, um aplicativo instalado quando você instala o Redis. É uma maneira integrada de escrever comandos no Redis sem precisar configurar um aplicativo para fazer isso.
Você pode se conectar a um servidor Redis remoto usandoredis-cli -h <host> -p <port> -a <password>
Quando estiver no aplicativo Redis CLI, você poderá começar a armazenar dados nele.
Adicione um valor usando a estrutura
SET <key> <value>
:SET name "Flavio"
Recuperar um valor
Recupere um valor usando a estrutura
GET <key>
:Verificar se existe uma chave
Também podemos verificar se existe uma chave usando
EXISTS <key>
:O comando retorna 1 (existe) ou 0 (não existe).
Definir se não existir
Uma variação de
SET
nos permite definir apenas uma chave se ela ainda não existir:SETNX name "Roger"
Excluir uma chave
Excluir uma chave usando
DEL <key>
:Listando as chaves existentes
Você pode listar todas as chaves inseridas usando
KEYS *
Ou você pode filtrar usando um padrão como
KEYS n*
para listar apenas as chaves que começam com n
, por exemplo. Cada valor armazenado pode conter até 512 MB de valor.
Chaves expirando
Uma chave pode ser armazenada temporariamente e removida automaticamente quando o cronômetro terminar:
SETEX <key> <seconds> <value>
Você pode obter o tempo restante para uma chave ser apagada usando
TTL <key>
Neste exemplo, defini um
name
chave com Flavio
como valor, e usando TTL posso verificar quanto tempo falta até que a chave retorne o valor. Quando o temporizador expira, resulta em um valor nulo (nil
):Você também pode definir uma chave existente para expirar usando
EXPIRE <key> seconds>
. Incrementar e diminuir
Um valor numérico pode ser incrementado usando
INCR <key>
e decrementado usando DECR <key>
. Você também pode usar INCRBY <key> <amount>
e DECRBY <key> <amount>
para incrementar um valor de chave em um valor específico:Esses comandos são muito adequados para operações altamente simultâneas em que muitos clientes podem interagir com os mesmos dados, para garantir transações atômicas .
O exemplo mais comum é quando 2 clientes diferentes tentam incrementar o mesmo número.
Em um banco de dados como PostgreSQL ou MongoDB, você primeiro obtém o valor do número, incrementa-o e, em seguida, faz uma solicitação ao servidor para incrementá-lo.
Digamos que o valor seja
1
. Se dois clientes lerem o valor usando GET
então eles chamam SET
para incrementá-lo de forma independente, no final, se não houver nada impedindo que a alteração simultânea aconteça, o resultado será 2
. O Redis evita esse problema na raiz. Estruturas de dados mais complexas
Até agora trabalhamos com tipos de dados simples como inteiros e strings.
O Redis pode suportar estruturas mais complexas.
Vamos ver nas próximas lições como trabalhar com:
- Listas
- Conjuntos
- Conjuntos ordenados
- Hashes