Dado público de Instagram não muda a cada segundo — cachear de forma inteligente é uma das formas mais diretas de reduzir custo sem sacrificar qualidade de análise.
Definindo TTL por tipo de dado
- Perfil (seguidores, bio): muda devagar — cache de 12 a 24 horas é seguro na maioria dos casos;
- Publicações recentes: cache de 1 a 4 horas equilibra atualidade e economia;
- Stories: expiram em 24h no próprio Instagram — cache curto, de 15 a 30 minutos, faz mais sentido aqui.
Implementação simples com Redis
def buscar_perfil_com_cache(username):
chave = f"perfil:{username}"
cache = redis.get(chave)
if cache:
return json.loads(cache)
dados = buscar_perfil_api(username)
redis.setex(chave, 86400, json.dumps(dados)) # 24h
return dados
Cache compartilhado entre usuários da mesma aplicação
Se múltiplos usuários do seu produto consultam o mesmo perfil popular (ex: uma marca grande), um cache compartilhado evita repetir a mesma chamada de API múltiplas vezes para o mesmo dado — economia que cresce com a escala do produto.
Veja também otimizando custo de API para outras estratégias complementares ao cache.