Redis: Tutorial Redis - Página Inicial

Redis é um armazenamento chave-valor em memória de código aberto que pode ser usado como banco de dados, cache e intermediário de mensagens. Ele suporta múltiplas estruturas de dados, oferece desempenho extremamente alto e é um componente essencial em aplicações web modernas.

1. O que é Redis?

Redis significa REmote DIctionary Server, desenvolvido por Salvatore Sanfilippo em 2009. Ele armazena dados em memória, fornecendo velocidades de leitura e escrita extremamente rápidas, capazes de lidar com mais de 100.000 operações por segundo.

(1) Recursos Principais do Redis

Recurso Descrição
Armazenamento em memória Dados armazenados em memória para velocidades de leitura e escrita extremamente rápidas
Persistência Suporta snapshots RDB e registro AOF
Tipos de dados ricos Suporta strings, hashes, listas, conjuntos, conjuntos ordenados e mais
Operações atômicas Todas as operações são atômicas, com suporte a transações
Pub/Sub Sistema de publicação/assinatura integrado
Alto desempenho QPS de instância única pode exceder 100k, com replicação mestre-réplica e suporte a cluster
💡 Por que é chamado Redis? Redis = REmote DIctionary Server, porque é essencialmente um serviço de dicionário (chave-valor) acessível remotamente.


2. O que o Redis Pode Fazer?

(1) Sistema de Cache

Este é o caso de uso mais comum. Armazene resultados de consultas de banco de dados, respostas de API, fragmentos de página, etc., no Redis para aumentar drasticamente o desempenho da aplicação.

TEXT 📖 Somente leitura
Requisição do Usuário → Verificar Cache Redis → Acerto → Retornar
                                           ↓ Erro
                                          Consultar BD → Armazenar no Redis → Retornar

(2) Armazenamento de Sessão

Armazene estado de login do usuário, carrinhos de compras, dados temporários, etc., no Redis para suportar compartilhamento de sessão em ambientes distribuídos.

(3) Fila de Mensagens

Use as Listas do Redis e Pub/Sub para implementar filas de mensagens leves.

(4) Rankings

Aproveite os recursos de ordenação dos Conjuntos Ordenados para rankings de jogos, listas de tendências e muito mais.

(5) Contadores

Use o comando INCR em strings para contagem de visualizações de artigos, curtidas, estatísticas de visita e muito mais.

(6) Funcionalidades Sociais

Use operações de interseção e união de Conjuntos para implementar amigos em comum, pessoas que você talvez conheça e outras funcionalidades sociais.


3. Redis vs Outros Bancos de Dados

(1) Redis vs Memcached

Aspecto Redis Memcached
Tipos de dados Rico (5 tipos básicos) Apenas strings
Persistência Suportado Não suportado
Cluster Suporte nativo Requer sharding no cliente
Gerenciamento de memória Mais flexível Mais simples
Desempenho Extremamente alto Extremamente alto
⚠️ Como escolher? Se você só precisa de cache chave-valor simples, Memcached é suficiente. Se você precisa de estruturas de dados complexas, persistência ou cluster, escolha Redis.

(2) Redis vs Bancos de Dados Relacionais (MySQL)

Aspecto Redis MySQL
Armazenamento Memória Disco
Modelo de dados Chave-valor Tabelas relacionais
Capacidade de consulta Simples Poderosa (SQL)
Suporte a transações Transações simples ACID completo
Desempenho Extremamente alto Alto
Persistência Opcional Padrão
💡 Melhor prática: Use Redis + MySQL juntos — Redis para cache e dados quentes, MySQL para armazenamento durável.

(3) Redis vs MongoDB

Aspecto Redis MongoDB
Modelo de dados Chave-valor Documento (JSON)
Linguagem de consulta Baseada em comandos Similar a SQL
Uso de memória Totalmente em memória Memória + disco
Casos de uso Cache, sessões, filas Armazenamento de documentos, gerenciamento de conteúdo

4. Casos de Uso do Redis

(1) Usado por Grandes Empresas de Internet

(2) Cenários de Aplicação Típicos

Cenário Tipo de Dado Usado Descrição
Cache String Armazena dados em cache com expiração
Armazenamento de sessão String Armazena informações de sessão do usuário
Carrinho de compras Hash Armazena IDs de produtos e quantidades
Fila de mensagens List LPUSH/RPOP para enfileiramento
Ranking Sorted Set Ordenação automática, atualizações em tempo real
Relacionamentos sociais Set Listas de amigos, cálculos de interseção
Contador String INCR incremento atômico
Limitação de taxa String + TTL Rastrear contagens de acesso

5. Histórico de Versões do Redis

Versão Data de Lançamento Recursos Principais
1.0 2009 Lançamento inicial
2.0 2010 Memória virtual, Pub/Sub
2.6 2012 Scripts Lua, precisão de expiração melhorada
2.8 2013 Sincronização parcial, reescrita de configuração
3.0 2015 Suporte oficial a cluster
3.2 2016 GEO, otimizações de bitmap
4.0 2017 Sistema de módulos, persistência mista
5.0 2018 Tipo de dados Streams
6.0 2020 Controle de acesso ACL, I/O multi-thread
7.0 2022 Funções, AOF multi-parte
💡 Versão recomendada: Use Redis 6.0 ou superior para melhor desempenho e mais recursos.


6. Para Quem é Este Tutorial?


7. Pré-requisitos


8. Conteúdo do Tutorial

Este tutorial está dividido em 4 partes:

  1. Básico do Redis: Instalação, configuração, operações básicas
  2. Tipos de Dados em Detalhe: Strings, hashes, listas, conjuntos, conjuntos ordenados
  3. Recursos Avançados: Transações, persistência, segurança, otimização de desempenho
  4. Aplicações Práticas: Usando Redis com Python, Java, Node.js

▶ Exemplo

Conexão e operações básicas:

BASH
127.0.0.1:6379> PING
PONG

127.0.0.1:6379> SET mykey "Ola"
OK
127.0.0.1:6379> GET mykey
"Ola"

❓ Perguntas Frequentes

P O Redis armazena dados em memória — os dados são perdidos em caso de queda de energia?
R O Redis suporta persistência, salvando dados da memória no disco. Você pode usar snapshots RDB, registro AOF, ou ambos.
P Quantos dados o Redis pode armazenar?
R Depende da memória disponível. Uma única instância do Redis pode armazenar vários GB de dados, e o cluster pode escalar para níveis de TB.
P O Redis é single-thread?
R A execução central de comandos do Redis é single-thread, mas a versão 6.0 introduziu I/O multi-thread para leituras e escritas de rede. O design single-thread evita contenção de locks, melhorando o desempenho.
P Qual é a diferença entre Redis e um banco de dados tradicional?
R Redis é um banco de dados NoSQL que armazena dados em memória, ideal para cache e dados quentes. Bancos de dados tradicionais armazenam dados em disco para armazenamento durável. Eles são tipicamente usados juntos.

📖 Resumo


9. 📝 Atividades

  1. Pense: Em seus projetos, quais cenários são adequados para Redis?
  2. Pesquise: Olhe sites ou aplicativos que você usa regularmente — para que eles podem estar usando Redis?
  3. Compare: Quais são os prós e contras do Redis vs Memcached? Como você escolheria?

10. Próxima Lição

Na próxima lição, nós aprenderemos sobre Instalação do Redis, abordando a instalação no Linux, Windows e Mac.

📝 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%