Publicado - Sab, 08 Fev 2025
Redis (REmote DIctionary Server) é um banco de dados em memória de código aberto, usado para armazenar estruturas de dados como strings, hashes, listas e sets.
Principais características: Velocidade, suporte a dados complexos e persistência opcional em disco.
Por Que Usar Redis?
Caso de uso comum: Caching, filas, sessões de usuário, leaderboards e análise em tempo real.
Vantagens:
Operações em microssegundos (dados armazenados na RAM).
Simplicidade de uso e integração com linguagens como Python, JavaScript e Java.
Linux (Ubuntu):
sudo apt update sudo apt install redis-server sudo systemctl start redis
Windows: Use o WSL2 ou a versão não oficial do Redis para Windows.
MacOS:
brew install redis
brew services start redis
Conecte-se ao servidor Redis via CLI:
redis-cli
Execute um comando básico:
ping # Resposta esperada: "PONG"
Armazenam texto, números ou dados binários (até 512 MB).
Comandos:
SET nome "Maria" # Define um valor GET nome # Retorna "Maria" DEL nome # Exclui a chave
Armazenam objetos com campos e valores (ex: perfil de usuário).
Comandos:
HSET usuario:1 nome "Carlos" idade 28 HGET usuario:1 nome # Retorna "Carlos"
Coleções ordenadas de strings (útil para filas).
Comandos:
LPUSH tarefas "Estudar Redis" RPOP tarefas # Remove e retorna o último item
Sets: Coleções não ordenadas de elementos únicos.
Sorted Sets: Elementos únicos com pontuação para ordenação.
Comandos (Sorted Sets):
ZADD ranking 100 "JogadorA" 200 "JogadorB" ZRANGE ranking 0 -1 WITHSCORES # Lista ordenada
Cria snapshots periódicos do banco de dados.
Configuração no redis.conf
:
save 900 1 # Salva após 15 min se 1 chave mudar save 300 10 # Salva após 5 min se 10 chaves mudarem
Registra todas as operações de escrita em um arquivo de log.
Habilite no redis.conf
:
appendonly yes appendfsync everysec # Sincroniza o log a cada segundo
Adicione uma senha no redis.conf
:
requirepass sua_senha_secreta
Conecte-se com autenticação:
redis-cli -a sua_senha_secreta
Restrinja o acesso ao Redis apenas a IPs confiáveis.
Use ACLs (Access Control Lists) para definir permissões de usuários.
Crie uma API em Python (usando Flask):
from flask import Flask import redis app = Flask(__name__) r = redis.Redis(host='localhost', port=6379, db=0) @app.route('/dados') def get_data(): cache = r.get('dados_api') if cache: return cache else: dados = "Dados do Banco Principal" r.setex('dados_api', 30, dados) # Expira em 30 segundos return dados
Teste a API:
Acesse http://localhost:5000/dados
e veja o Redis armazenando o cache.
Resumo: Você aprendeu a instalar o Redis, usar estruturas de dados básicas e implementar caching.
Desafio: Explore tópicos avançados como Redis Streams, clustering ou integração com Node.js.
Recursos Recomendados:
Livro: "Redis in Action" por Josiah L. Carlson
Compartilhe:
Comece a aprender agora mesmo, estude qualquer assunto, a qualquer hora. explore centenas de cursos gratuitos online com certificado e sem pagar nada!
Sab, 18 Maio 2025
Sab, 18 Maio 2025
Sab, 18 Maio 2025
Write a public review