O que é o ElastiCache?
O Amazon ElastiCache é um serviço de cache em memória totalmente gerenciado. Ele armazena dados frequentemente acessados na memória RAM, reduzindo a latência de milissegundos para microssegundos e aliviando a carga sobre bancos de dados como RDS e DynamoDB.
Por que usar cache?
Sem cache:
App ──▶ RDS (query SQL) ──▶ ~50ms
Com ElastiCache:
App ──▶ ElastiCache (cache HIT) ──▶ ~1ms
App ──▶ ElastiCache (cache MISS) ──▶ RDS ──▶ armazena no cache
Engines disponíveis
| Engine | Características | Uso ideal |
|---|---|---|
| Redis | Estruturas de dados ricas (listas, sets, hashes), persistência, pub/sub, replicação, Multi-AZ | Cache de sessão, leaderboards, filas, dados em tempo real |
| Memcached | Simples, multi-thread, sem persistência, sem replicação | Cache simples de objetos, máxima performance de leitura |
Redis vs Memcached — quando usar cada um
| Necessidade | Redis | Memcached |
|---|---|---|
| Alta disponibilidade (Multi-AZ) | ✅ Sim | ❌ Não |
| Persistência de dados | ✅ Sim (AOF/RDB) | ❌ Não |
| Pub/Sub | ✅ Sim | ❌ Não |
| Estruturas de dados complexas | ✅ Sim | ❌ Não |
| Multi-thread nativo | ❌ Single-thread | ✅ Sim |
| Escala horizontal simples | ✅ Cluster Mode | ✅ Sim |
Casos de uso
- Cache de banco de dados: resultados de queries frequentes — reduz carga no RDS
- Gerenciamento de sessões: sessões de usuário compartilhadas entre múltiplas instâncias EC2
- Leaderboards em tempo real: Redis Sorted Sets para rankings de jogos
- Rate limiting: controlar requisições por usuário/IP
- Pub/Sub: comunicação em tempo real entre microserviços
🎯 Pontos importantes para o exame CLF-C02
- ElastiCache = cache em memória gerenciado — palavra-chave: "reduzir latência do banco"
- Dois engines: Redis (rico em recursos, HA) e Memcached (simples, multi-thread)
- Para o exame: se precisar de Multi-AZ, persistência ou pub/sub → Redis
- ElastiCache fica dentro de uma VPC — acesso via IP privado
- A AWS gerencia: patches, backups, monitoramento, failover
- Dados em memória são voláteis — Redis com persistência para durabilidade
