Trilha de estudo
Trilha Redis & Caching: tudo o que estudar, tópico por tópico
Avaliacao abrangente de Redis e caching cobrindo estruturas de dados, persistencia, replicacao, clustering, estrategias de cache, politicas de evicao, Pub/Sub, transacoes, scripting Lua e operacoes de producao incluindo monitoramento e seguranca.
Resposta curta
Para aprender Redis & Caching, percorra 6 módulos e 22 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos e siga para Estruturas de Dados e Persistencia & Replicacao. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos3 tópicos
Conceitos Fundamentais
Arquitetura de armazenamento em memoria, event loop single-threaded, paradigma chave-valor, Redis vs Memcached, casos de uso, modelo cliente-servidor e nocoes basicas do protocolo RESP
Objetivos
- Explicar por que o Redis e single-threaded e ainda assim de alto desempenho
- Comparar Redis e Memcached para diferentes casos de uso
Conceitos-chave
- armazenamento em memoria
- event loop single-threaded
- modelo chave-valor
- Redis vs Memcached
- protocolo RESP
- arquitetura cliente-servidor
- numeracao de bancos (SELECT)
- nocoes basicas de expiracao de chaves
CLI & Comandos Basicos
Uso do redis-cli, PING/PONG, GET/SET, DEL, EXISTS, KEYS, SCAN, TYPE, RENAME, DBSIZE, FLUSHDB e gerenciamento basico de chaves
Objetivos
- Conectar ao Redis e realizar operacoes basicas com chaves
- Entender por que SCAN e preferivel a KEYS em producao
Conceitos-chave
- conexao redis-cli
- comandos GET/SET
- DEL e EXISTS
- KEYS vs SCAN
- comando TYPE
- RENAME/RENAMENX
- DBSIZE/FLUSHDB
- convencoes de nomenclatura de chaves
Strings
Operacoes com o tipo string: SET/GET com opcoes (EX, PX, NX, XX), MGET/MSET, INCR/DECR, APPEND, STRLEN, GETRANGE, SETRANGE e strings binario-seguras
Objetivos
- Usar comandos de string para contadores, flags e cache simples
- Implementar locking distribuido basico com SETNX
Conceitos-chave
- opcoes SET (EX, NX, XX)
- operacoes em lote MGET/MSET
- contadores atomicos INCR/DECR
- APPEND e STRLEN
- GETRANGE/SETRANGE
- strings binario-seguras
- tamanho maximo de string (512MB)
- SETNX para locking
2 · Estruturas de Dados5 tópicos
Hashes
Tipo hash para armazenamento de objetos: HSET/HGET, HMSET/HMGET, HINCRBY, HDEL, HGETALL, HSCAN, otimizacao de memoria com codificacao ziplist e casos de uso de hashes
Objetivos
- Modelar objetos da aplicacao usando hashes Redis
- Entender a codificacao ziplist e seus beneficios de memoria
Conceitos-chave
- comandos HSET/HGET
- operacoes em lote HMSET/HMGET
- HINCRBY/HINCRBYFLOAT
- HGETALL vs HSCAN
- HDEL e HEXISTS
- codificacao ziplist
- hash-max-ziplist-entries
- modelagem de objetos com hashes
Listas & Conjuntos
Listas (LPUSH, RPUSH, LPOP, RPOP, LRANGE, LINDEX, BLPOP) e Conjuntos (SADD, SREM, SMEMBERS, SINTER, SUNION, SDIFF, SRANDMEMBER) para filas e colecoes unicas
Objetivos
- Implementar filas de trabalho e listas de tarefas usando listas Redis
- Usar conjuntos para teste de pertinencia e operacoes de intersecao
Conceitos-chave
- LPUSH/RPUSH/LPOP/RPOP
- LRANGE e LINDEX
- BLPOP/BRPOP bloqueante
- SADD/SREM/SMEMBERS
- SINTER/SUNION/SDIFF
- SRANDMEMBER
- listas como filas
- conjuntos para colecoes unicas
Conjuntos Ordenados
Conjuntos ordenados (ZADD, ZRANGE, ZRANK, ZSCORE, ZRANGEBYSCORE, ZRANGEBYLEX, ZINCRBY, ZUNIONSTORE, ZINTERSTORE) para leaderboards, filas de prioridade e indexacao de series temporais
Objetivos
- Projetar sistemas de leaderboard e ranking com conjuntos ordenados
- Entender a complexidade O(log N) das operacoes de conjuntos ordenados
Conceitos-chave
- ZADD com NX/XX/GT/LT
- ZRANGE/ZREVRANGE
- ZRANGEBYSCORE/ZRANGEBYLEX
- ZRANK/ZSCORE
- ZINCRBY para atualizacao de scores
- ZUNIONSTORE/ZINTERSTORE
- implementacao com skiplist
- padroes de leaderboard
Streams
Redis Streams para event sourcing e filas de mensagens: XADD, XREAD, XRANGE, XLEN, grupos de consumidores (XGROUP, XREADGROUP, XACK), entradas pendentes, XCLAIM e trimming de streams
Objetivos
- Implementar processamento confiavel de mensagens com grupos de consumidores
- Comparar Streams, Pub/Sub e filas baseadas em listas
Conceitos-chave
- XADD/XREAD/XRANGE
- IDs de entradas de stream
- grupos de consumidores (XGROUP)
- XREADGROUP/XACK
- lista de entradas pendentes (PEL)
- XCLAIM para recuperacao
- XTRIM/MAXLEN
- streams vs Pub/Sub vs listas
Bitmaps & HyperLogLog
Bitmaps (SETBIT, GETBIT, BITCOUNT, BITOP, BITPOS) para flags e analytics, HyperLogLog (PFADD, PFCOUNT, PFMERGE) para estimativa de cardinalidade com memoria minima
Objetivos
- Rastrear estado binario em escala usando bitmaps
- Estimar cardinalidade com HyperLogLog e entender seus trade-offs
Conceitos-chave
- SETBIT/GETBIT
- BITCOUNT/BITOP
- BITPOS para primeiro bit setado
- PFADD/PFCOUNT/PFMERGE
- taxa de erro HLL (~0.81%)
- eficiencia de memoria com bitmaps
- usuarios ativos diarios com bitmaps
- contagem de visitantes unicos com HLL
3 · Persistencia & Replicacao4 tópicos
Persistencia RDB & AOF
Snapshots RDB (SAVE, BGSAVE, configuracao), AOF (arquivo append-only, politicas fsync, reescrita AOF), persistencia hibrida (RDB+AOF), trade-offs de durabilidade e procedimentos de recuperacao
Objetivos
- Configurar RDB e AOF para garantias de durabilidade adequadas
- Entender o impacto de desempenho de cada modo de persistencia
Conceitos-chave
- snapshots RDB (BGSAVE)
- diretivas de configuracao save
- log append-only AOF
- politicas fsync do AOF (always, everysec, no)
- reescrita AOF (BGREWRITEAOF)
- persistencia hibrida RDB+AOF
- fork() e copy-on-write
- ordem de procedimento de recuperacao
Replicacao
Arquitetura master-replica, comando REPLICAOF, ressincronizacao completa e parcial, backlog de replicacao, escalabilidade de leitura com replicas, lag de replicacao e replicacao sem disco
Objetivos
- Configurar topologia master-replica para escalabilidade de leitura
- Diagnosticar lag de replicacao e problemas de sincronizacao
Conceitos-chave
- comando REPLICAOF/SLAVEOF
- ressincronizacao completa (RDB)
- ressincronizacao parcial (backlog)
- ID e offset de replicacao
- replica-read-only
- monitoramento de lag de replicacao
- replicacao sem disco
- min-replicas-to-write
Sentinel
Redis Sentinel para alta disponibilidade: monitoramento, failover automatico, notificacao, configuracao de quorum, API do Sentinel, descoberta de clientes e prevencao de split-brain
Objetivos
- Implantar Sentinel para failover automatico com quorum adequado
- Lidar com cenarios de split-brain em implantacoes distribuidas do Sentinel
Conceitos-chave
- monitoramento do Sentinel
- failover automatico
- configuracao de quorum
- comandos SENTINEL (masters, get-master-addr-by-name)
- notificacao via Pub/Sub
- reconfiguracao de clientes
- cenarios de split-brain
- topologia de implantacao do Sentinel
Redis Cluster
Redis Cluster para escalabilidade horizontal: hash slots (16384), topologia de cluster, redirecionamentos MOVED/ASK, resharding, cluster bus, migracao de replicas e restricoes de operacoes multi-chave
Objetivos
- Projetar e implantar um Redis Cluster para escalabilidade horizontal
- Entender a distribuicao de hash slots e limitacoes multi-chave
Conceitos-chave
- 16384 hash slots
- funcao hash CRC16
- redirecionamentos MOVED/ASK
- configuracao cluster-enabled
- resharding de slots
- cluster bus (protocolo gossip)
- migracao de replicas
- restricoes multi-chave (hash tags)
4 · Padroes de Cache4 tópicos
Estrategias de Cache
Cache-aside (lazy loading), read-through, write-through, write-behind (write-back), padroes refresh-ahead, aquecimento de cache e escolha da estrategia certa por caso de uso
Objetivos
- Selecionar a estrategia de cache apropriada para diferentes requisitos de consistencia
- Prevenir cache stampedes e problemas de thundering herd
Conceitos-chave
- cache-aside (lazy loading)
- cache read-through
- cache write-through
- write-behind (write-back)
- padrao refresh-ahead
- aquecimento de cache
- prevencao de cache stampede
- problema de thundering herd
TTL & Politicas de Evicao
Expiracao de chaves (EXPIRE, PEXPIRE, EXPIREAT, TTL, PERSIST), politicas de evicao (noeviction, allkeys-lru, volatile-lru, allkeys-lfu, volatile-lfu, allkeys-random, volatile-random, volatile-ttl), configuracao maxmemory e expiracao lazy vs ativa
Objetivos
- Configurar politicas de evicao apropriadas para padroes de carga de trabalho
- Entender a diferenca entre expiracao lazy e ativa de chaves
Conceitos-chave
- EXPIRE/PEXPIRE/EXPIREAT
- comandos TTL/PTTL
- PERSIST para remover expiracao
- configuracao maxmemory
- politica de evicao LRU
- politica de evicao LFU
- politicas volatile vs allkeys
- expiracao lazy vs ativa
Invalidacao de Cache
Estrategias de invalidacao: baseada em tempo, orientada a eventos, baseada em versao, invalidacao por tags, notificacoes de keyspace, cache client-side assistido por Redis (tracking) e padroes de consistencia
Objetivos
- Projetar estrategias de invalidacao que equilibrem consistencia e desempenho
- Usar notificacoes de keyspace do Redis para invalidacao orientada a eventos
Conceitos-chave
- invalidacao baseada em tempo
- invalidacao orientada a eventos
- chaves de cache baseadas em versao
- invalidacao por tags
- notificacoes de keyspace
- cache client-side (tracking)
- padroes de consistencia de cache
- invalidacao em escala
Gerenciamento de Sessoes
Redis para armazenamento de sessoes: modelagem de dados de sessao com hashes, expiracao por janela deslizante, compartilhamento de sessoes entre servicos, tratamento seguro de sessoes e escalabilidade do armazenamento de sessoes
Objetivos
- Projetar gerenciamento escalavel de sessoes com hashes e TTL do Redis
- Implementar tratamento seguro de sessoes em servicos distribuidos
Conceitos-chave
- dados de sessao em hashes
- TTL de janela deslizante
- geracao de ID de sessao
- compartilhamento de sessao entre servicos
- serializacao de sessao
- tokens de sessao seguros
- escalabilidade do armazenamento de sessoes
- migracao graciosa de sessoes
5 · Recursos Avancados4 tópicos
Pub/Sub
Mensageria Publish/Subscribe: PUBLISH, SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, assinaturas baseadas em padrao, Pub/Sub no modo Cluster, limitacoes e casos de uso em tempo real
Objetivos
- Implementar mensageria em tempo real com canais Pub/Sub
- Entender limitacoes do Pub/Sub e quando usar Streams
Conceitos-chave
- comandos PUBLISH/SUBSCRIBE
- PSUBSCRIBE com pattern matching
- UNSUBSCRIBE/PUNSUBSCRIBE
- entrega fire-and-forget
- Pub/Sub no modo Cluster
- convencoes de nomenclatura de canais
- garantias de ordenacao de mensagens
- Pub/Sub vs Streams
Transacoes
Transacoes Redis com MULTI/EXEC/DISCARD, locking otimista com WATCH, batching com pipeline, garantias de atomicidade, tratamento de erros em transacoes e comparacao com scripts Lua
Objetivos
- Implementar operacoes atomicas com MULTI/EXEC e WATCH
- Decidir entre transacoes e scripts Lua para operacoes atomicas
Conceitos-chave
- MULTI/EXEC/DISCARD
- WATCH para locking otimista
- batching com pipeline
- garantias de atomicidade
- tratamento de erros em transacoes
- execucao de comandos enfileirados
- padrao CAS (check-and-set)
- transacoes vs scripts Lua
Scripting Lua
Scripting Lua server-side: EVAL/EVALSHA, cache de scripts, arrays KEYS e ARGV, redis.call vs redis.pcall, atomicidade de scripts, depuracao de scripts e scripting compativel com Cluster
Objetivos
- Escrever scripts Lua para operacoes atomicas complexas
- Entender cache de scripts e implicacoes de desempenho
Conceitos-chave
- comandos EVAL/EVALSHA
- SCRIPT LOAD/EXISTS/FLUSH
- arrays KEYS[] e ARGV[]
- redis.call vs redis.pcall
- garantias de atomicidade de scripts
- depuracao de scripts
- hashing de chaves compativel com Cluster
- Redis Functions (Redis 7+)
Modulos
Ecossistema de modulos Redis: RedisJSON, RediSearch, RedisTimeSeries, RedisBloom, RedisGraph (descontinuado), carregamento de modulos, MODULE LOAD/UNLOAD e Redis Stack
Objetivos
- Selecionar modulos Redis apropriados para cargas de trabalho especializadas
- Entender a distribuicao Redis Stack e seus componentes
Conceitos-chave
- RedisJSON (tipo de dados JSON)
- RediSearch (busca full-text)
- RedisTimeSeries
- RedisBloom (probabilistico)
- distribuicao Redis Stack
- MODULE LOAD/UNLOAD
- nocoes basicas da API de modulos
- escolha entre modulos vs tipos nativos
6 · Operacoes de Producao2 tópicos
Monitoramento & Desempenho
Monitoramento e ajuste de desempenho do Redis: comando INFO, SLOWLOG, monitoramento de LATENCY, MEMORY USAGE/DOCTOR, redis-benchmark, metricas-chave (taxa de acerto, fragmentacao de memoria, clientes conectados) e anti-padroes de desempenho
Objetivos
- Monitorar a saude do Redis usando comandos INFO, SLOWLOG e LATENCY
- Identificar e resolver gargalos de desempenho em producao
Conceitos-chave
- secoes do comando INFO
- analise de SLOWLOG
- LATENCY LATEST/HISTORY
- MEMORY USAGE/DOCTOR
- ferramenta redis-benchmark
- calculo da taxa de acerto do cache
- razao de fragmentacao de memoria
- deteccao de chaves grandes
Seguranca
Seguranca Redis: sistema ACL (usuarios, permissoes, categorias), autenticacao requirepass, criptografia TLS/SSL, protected-mode, rename-command, seguranca de rede e melhores praticas de seguranca
Objetivos
- Configurar ACLs do Redis com principio de menor privilegio
- Proteger implantacoes Redis com TLS, restricoes de rede e autenticacao
Conceitos-chave
- ACL SETUSER/GETUSER/LIST
- categorias e permissoes ACL
- autenticacao requirepass
- configuracao TLS/SSL
- protected-mode
- ofuscacao rename-command
- restricoes de endereco bind
- melhores praticas de seguranca
Níveis: Júnior, Pleno e Sênior
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Redis & Caching?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Redis & Caching?
Comece por Fundamentos: Conceitos Fundamentais, CLI & Comandos Basicos e Strings. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Redis & Caching?
Uma avaliação completa desta trilha leva cerca de 45 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.