Cache com Redis: Quando Banco Fica Lento

Seu banco leva 500ms para responder "qual é o usuário 12345". Você tem 1000 requisições por segundo. Banco fica sobrecarregado.

Cache: guarda resposta por 1 hora. Próxima requisição? 5ms (de memória). 100x mais rápido.

Como Funciona

import redis
      rc = redis.Redis()
      # Primeira chamada
      user = rc.get('user:12345')
      if not user:
      user = db.query('SELECT * FROM users WHERE id=12345')
      rc.setex('user:12345', 3600, json.dumps(user))  # Cache 1h
      return user

Padrões

Cache-aside: Aplicação gerencia cache. Simples, erro-prone.

Write-through: Escreve em cache e banco juntos. Mais consistente.

Write-behind: Escreve em cache, depois batch pro banco. Rápido mas riscado.

Ganho

Latência: de 500ms para 5-20ms. Throughput: de 1000 req/s para 10.000. Banco: de 80% CPU para 10%.

← Back to blog