Cache
Estratégias para guardar respostas caras, e o problema difícil de saber quando descartá-las.
Cache é uma cópia guardada perto de quem usa, para não repetir um trabalho caro: uma consulta ao banco, uma chamada a outro serviço, um cálculo.
Um cache bem colocado corta a latência e a carga do banco em várias vezes. Mal colocado, entrega dados velhos, errados ou de outro usuário.
- Vale a pena para dados lidos com frequência, caros de obter e que mudam pouco.
- A parte difícil é decidir quando a cópia deixa de valer.
- Todo item precisa de um tempo de expiração, mesmo que haja outra forma de invalidação.
- Muitas requisições ao mesmo tempo para uma chave que acabou de expirar podem derrubar o banco.
- Dados de um usuário nunca podem cair na chave de outro.