Redis: Início Rápido com Redis

Após instalar o Redis, vamos começar rapidamente e aprender as operações básicas do Redis.

1. Iniciando o Servidor Redis

(1) Inicialização em Primeiro Plano

A maneira mais simples de iniciar o Redis — ele executa em primeiro plano e registra logs diretamente no terminal.

BASH
redis-server

Saída:

TEXT 📖 Somente leitura
[Servidor Redis iniciando...]

Redis 7.0.11 (00000000/0) 64 bit
Running in standalone mode
Port: 6379
PID: 12345
Ready to accept connections
💡 Dica: Pressione Ctrl+C para parar o servidor Redis.

(2) Inicialização em Segundo Plano

Executar em segundo plano é recomendado para ambientes de produção.

BASH
# Método 1: Usar parâmetro daemonize
redis-server --daemonize yes

# Método 2: Editar arquivo de configuração
# Editar /etc/redis/redis.conf
daemonize yes
# Então iniciar
redis-server /etc/redis/redis.conf

(3) Iniciar em uma Porta Específica

BASH
# Usar porta 6380
redis-server --port 6380

(4) Verificar se o Redis está Executando

BASH
# Linux
ps aux | grep redis-server

# Ou usar redis-cli
redis-cli ping
# Retorna PONG se o Redis estiver executando

2. Conectando ao Redis

(1) Usando redis-cli

redis-cli é o cliente de linha de comando integrado do Redis.

BASH
# Conectar ao Redis local (padrão 127.0.0.1:6379)
redis-cli

# Após conectar, o prompt muda para:
127.0.0.1:6379>

(2) Especificando Host e Porta

BASH
# Conectar a um host e porta específicos
redis-cli -h 192.168.1.100 -p 6379

# Conectar a uma porta local diferente
redis-cli -p 6380

(3) Conectando com Senha

BASH
# Método 1: Argumento de linha de comando
redis-cli -a sua_senha

# Método 2: Autenticar após conectar
redis-cli
 AUTH sua_senha
OK
⚠️ Atenção: Usar o parâmetro -a expõe a senha no histórico de comandos. Para produção, use o comando AUTH ou arquivo de configuração.

(4) Conectando via Unix Socket

BASH
redis-cli -s /tmp/redis.sock

(5) Saindo do redis-cli

BASH
# Sair da conexão
 exit
# ou
 quit
# ou pressione Ctrl+D

3. Primeiro Comando: PING

O comando PING testa se a conexão está funcionando, similar ao comando ping de rede.

▶ Exemplo: Testar Conexão

BASH
PING

Se o Redis estiver funcionando corretamente, ele retorna PONG.

(1) PING com Mensagem

BASH
 PING "Olá"
"Olá"

PING pode carregar uma mensagem, e o Redis a retorna exatamente como foi enviada.

💡 Caso de uso: PING é comumente usado para verificações de saúde, teste de conexão e medição de latência de rede.


4. Comandos Básicos: SET e GET

SET e GET são os comandos mais usados para armazenar e recuperar dados de string.

(1) SET: Armazenar Dados

O comando SET define um par chave-valor.

▶ Exemplo: SET Básico

BASH
SET nome "Tutorial Redis"
GET nome

▶ Exemplo: Com Expiração

BASH
# Definir uma chave que expira em 10 segundos
SET temp "temporário" EX 10
GET temp

# Ou usar PX para milissegundos
SET temp2 "temp" PX 5000
GET temp2

▶ Exemplo: Definir Apenas Quando a Chave Não Existe

BASH
# NX: Só definir se a chave não existir
SET nome "Novo Nome" NX

# XX: Só definir se a chave existir
SET nome "Nome Atualizado" XX
GET nome

(2) Sintaxe Completa do Comando SET

BASH
SET key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT timestamp|PXAT timestamp]
Parâmetro Descrição
NX Só definir se a chave não existir
XX Só definir se a chave existir
GET Retornar o valor antigo (Redis 6.2+)
EX seconds Definir expiração em segundos
PX milliseconds Definir expiração em milissegundos
EXAT timestamp Definir expiração como timestamp Unix (segundos)
PXAT timestamp Definir expiração como timestamp Unix (milissegundos)

(3) GET: Ler Dados

O comando GET recupera o valor de uma chave.

▶ Exemplo: GET Básico

BASH
GET nome

# Chave não existe, retorna nil
GET naoexiste

▶ Exemplo: GETSET (Obter Valor Antigo, Definir Novo Valor)

BASH
GETSET nome "Novo Valor"
GET nome

5. Outros Comandos Básicos

(1) DEL: Deletar uma Chave

BASH
 SET temp "delete-me"
OK

 DEL temp
(integer) 1  # Deleção bem-sucedida, retorna número de chaves deletadas

 DEL temp
(integer) 0  # Chave não existe, 0 deletadas

(2) EXISTS: Verificar se Chave Existe

BASH
 SET nome "Redis"
OK

 EXISTS nome
(integer) 1  # Existe

 EXISTS naoexiste
(integer) 0  # Não existe

(3) KEYS: Encontrar Chaves

BASH
# Definir alguns dados de teste
 SET user:1 "Alice"
 SET user:2 "Bob"
 SET product:1 "iPhone"

# Encontrar todas as chaves (use com cuidado!)
 KEYS *
1) "user:1"
2) "user:2"
3) "product:1"
4) "name"

# Encontrar chaves que correspondem a um padrão
 KEYS user:*
1) "user:1"
2) "user:2"

 KEYS *:1
1) "user:1"
2) "product:1"
⚠️ Atenção: O comando KEYS escaneia o banco de dados inteiro. É muito lento com grandes conjuntos de dados e deve ser evitado em produção! Use SCAN.

(4) FLUSHDB: Limpar Banco de Dados Atual

BASH
# Limpar todos os dados do banco de dados atual (perigoso!)
 FLUSHDB
OK
⚠️ Perigo: FLUSHDB deleta todos os dados. Use com extrema cautela em produção!

(5) DBSIZE: Contar Chaves

BASH
 DBSIZE
(integer) 4  # O banco de dados atual tem 4 chaves

6. Tipos de Retorno de Comandos

Comandos Redis retornam diferentes tipos de resultados:

Exemplo de Retorno Tipo Descrição
OK String simples Operação bem-sucedida
"valor" String Valor de string
(integer) 1 Inteiro Resultado numérico
1) "a"``<br>``2) "b" Array Lista ou conjunto
(nil) Nulo Chave não existe ou sem resultado
# Error Erro Falha na execução do comando

7. Executando Comandos em Lote

(1) Modo Interativo

Digite comandos um por um no redis-cli:

BASH
 SET a 1
OK
 SET b 2
OK
 GET a
"1"

(2) Modo Pipeline

Execute comandos de um arquivo em lote:

BASH
# Criar um arquivo de comandos commands.txt
echo "SET key1 value1" > commands.txt
echo "SET key2 value2" >> commands.txt
echo "GET key1" >> commands.txt

# Executar lote
cat commands.txt | redis-cli

Saída:

BASH
OK
OK
"value1"

(3) Execução Direta na Linha de Comando

BASH
# Executar um único comando diretamente
redis-cli SET minhachave "meuvalor"
# Saída: OK

redis-cli GET minhachave
# Saída: "meuvalor"

# Executar múltiplos comandos
redis-cli << EOF
SET a 1
SET b 2
GET a
GET b
EOF

8. Usando o Sistema de Ajuda

Redis tem um sistema de ajuda integrado abrangente.

(1) Ver Ajuda do Comando

BASH
 HELP SET

  SET key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]
  summary: Define o valor de string de uma chave
  since: 1.0.0
  group: string

(2) Ver Grupos de Comandos

BASH
 HELP @string
# Lista todos os comandos de string

(3) Autocompletar com Tab

redis-cli suporta a tecla Tab para autocompletar comandos:

BASH
 SET<pressione Tab>
# Autocompleta para SET

9. Dicas Úteis

(1) Ver Informações do Servidor

BASH
 INFO
# Retorna informações extensas do servidor

# Ver seções específicas
 INFO server
 INFO memory
 INFO stats

(2) Ver Configuração

BASH
# Ver toda a configuração
 CONFIG GET *

# Ver configuração específica
 CONFIG GET maxmemory
1) "maxmemory"
2) "0"

(3) Monitorar Comandos

BASH
# Monitoramento em tempo real de todos os comandos executados
 MONITOR
OK
# Em seguida, exibe todos os comandos de todos os clientes
💡 Caso de uso: MONITOR é útil para depuração — você pode ver todos os comandos dos clientes. Use com cuidado em produção (impacto no desempenho).

(4) Ver Conexões de Clientes

BASH
 CLIENT LIST
id=1 addr=127.0.0.1:52345 fd=8 name= age=10 idle=0 ...

❓ Perguntas Frequentes

P Não consigo conectar com redis-cli?
R Verifique se o Redis está executando (ps aux | grep redis), confirme se a porta está correta e verifique as configurações de firewall.
P Por que retorna (nil)?
R (nil) significa nulo — geralmente porque a chave não existe. Use EXISTS para verificar.
P Como limpo dados de teste?
R Use FLUSHDB para limpar o banco de dados atual, ou FLUSHALL para limpar todos os bancos de dados (perigoso!).
P Como saio do redis-cli?
R Digite exit ou quit, ou pressione Ctrl+D.

📖 Resumo


10. 📝 Atividades

  1. Prática de inicialização: Inicie o servidor Redis, conecte com redis-cli e execute o comando PING
  2. Operações básicas: Use SET para armazenar seu nome e idade, depois use GET para recuperá-los
  3. Prática de expiração: Defina uma chave com expiração, espere expirar, depois use GET para verificar
  4. Operações em lote: Crie um arquivo de texto com múltiplos comandos Redis e execute usando modo pipeline

11. Próxima Lição

Na próxima lição, nós aprenderemos sobre Configuração do Redis, abordando o arquivo de configuração do Redis e opções comuns de configuração.

📝 Exercícios

  1. Prática: Execute os comandos apresentados nesta lição
  2. Experimentação: Teste variações dos comandos aprendidos
  3. Aplicação: Aplique os conceitos em um projeto prático
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%