Início Rápido com Redis

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

Iniciando o Servidor Redis

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
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._
  _.-`` .-`` .-```.  ```.-''  ''-._
.-`` .-`` .-`````-..-'''.-''      ''-._
( '      .       ''-.             ``.
|`.    `-.   `-.    `-.  `-.        `-.)
|  `-.    `-.    `-.    `-.    `-.    `'
 `-.   `-.    `-.    `-.    `-.    `-.    _
     `-.    `-.    `-.    `-.    `-.  .-'
         `-.    `-.    `-.    `-.  .-'
             `-.    `-.    `-.  .-'
                 `-.    `-.  .-'
                     `-.  .-'
                         `-

Redis 7.0.11 (00000000/0) 64 bit
Executando em modo autônomo
Porta: 6379
PID: 12345
Pronto para aceitar conexões
💡 Dica: Pressione Ctrl+C para parar o servidor Redis.

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

Iniciar em uma Porta Específica

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

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

Conectando ao Redis

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>

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

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.

Conectando via Unix Socket

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

Saindo do redis-cli

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

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
▶ Experimente

Se o Redis estiver funcionando corretamente, ele retorna PONG.

PING com Mensagem

REDIS
 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.

Comandos Básicos: SET e GET

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

SET: Armazenar Dados

O comando SET define um par chave-valor.

Exemplo: SET Básico

BASH
SET nome "Tutorial Redis"
GET nome
▶ Experimente

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
▶ Experimente

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
▶ Experimente

Sintaxe Completa do Comando SET

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)

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
▶ Experimente

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

BASH
GETSET nome "Novo Valor"
GET nome
▶ Experimente

Outros Comandos Básicos

DEL: Deletar uma Chave

REDIS
 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

EXISTS: Verificar se Chave Existe

REDIS
 SET nome "Redis"
OK

 EXISTS nome
(integer) 1  # Existe

 EXISTS naoexiste
(integer) 0  # Não existe

KEYS: Encontrar Chaves

REDIS
# 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.

FLUSHDB: Limpar Banco de Dados Atual

REDIS
# 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!

DBSIZE: Contar Chaves

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

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"
2) "b"
Array Lista ou conjunto
(nil) Nulo Chave não existe ou sem resultado
# Error Erro Falha na execução do comando

Executando Comandos em Lote

Modo Interativo

Digite comandos um por um no redis-cli:

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

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:

TEXT
OK
OK
"value1"

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

Usando o Sistema de Ajuda

Redis tem um sistema de ajuda integrado abrangente.

Ver Ajuda do Comando

REDIS
 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

Ver Grupos de Comandos

REDIS
 HELP @string
# Lista todos os comandos de string

Autocompletar com Tab

redis-cli suporta a tecla Tab para autocompletar comandos:

REDIS
 SET<pressione Tab>
# Autocompleta para SET

Dicas Úteis

1. Ver Informações do Servidor

REDIS
 INFO
# Retorna informações extensas do servidor

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

2. Ver Configuração

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

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

3. Monitorar Comandos

REDIS
# 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

REDIS
 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 vejo todas as chaves? *A: Use KEYS , mas isso é lento com grandes conjuntos de dados. Use SCAN em produção.

Q: Como saio do redis-cli?

R Digite exit ou quit, ou pressione Ctrl+D.

📖 Resumo

  • redis-server inicia o servidor Redis, redis-cli se conecta a ele
  • PING testa a conexão, SET/GET armazena e recupera strings
  • DEL deleta chaves, EXISTS verifica se uma chave existe
  • KEYS encontra chaves (cuidado em produção), DBSIZE conta chaves
  • Use HELP para ajuda de comandos, tecla Tab para autocompletar
  • MONITOR observa comandos, INFO mostra informações do servidor

📝 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

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.

100%