Redis cache, filas e pub/sub
redis-clicachepub/sub
🔑 Keys & Strings
| Conectar | redis-cli -h localhost -p 6379 -a senha |
| Set com expiração (TTL) | SET sessao:abc123 "dados" EX 3600 |
| Get valor | GET sessao:abc123 |
| Verificar existência | EXISTS sessao:abc123 |
| Ver TTL restante | TTL sessao:abc123 |
| Remover chave | DEL sessao:abc123 |
| Listar chaves por padrão (seguro) | SCAN 0 MATCH "sessao:*" COUNT 100 |
| Incrementar contador | INCR visitas:pagina:home |
| Definir expiração em chave existente | EXPIRE minha_chave 600 |
📦 Hash · List · Set
| Hash — set múltiplos campos | HSET user:123 nome "João" email "j@x.com" plano "pro" |
| Hash — obter campo | HGET user:123 email |
| Hash — obter tudo | HGETALL user:123 |
| List — push à esquerda (fila) | LPUSH fila:emails "job:123" |
| List — pop bloqueante (consumer) | BRPOP fila:emails 0 |
| Sorted Set — add com score | ZADD ranking 1500 "usuario:456" |
| Sorted Set — top 10 | ZREVRANGE ranking 0 9 WITHSCORES |
📡 Pub/Sub & Monitoramento
| Publicar mensagem | PUBLISH canal:notif '{"tipo":"email","para":"user@x.com"}' |
| Inscrever em canal | SUBSCRIBE canal:notif |
| Monitorar todos os comandos | redis-cli MONITOR |
| Info do servidor | redis-cli INFO server |
| Uso de memória | redis-cli INFO memory | grep used_memory_human |
| Flush db atual (CUIDADO) | FLUSHDB |
| Total de chaves | DBSIZE |