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.