O problema
O que fazer quando nossa aplicação começa a demorar a responder?
- Otimizar o código?
- Rever os índices do banco?
- Aumentar a memória?
- Contratar um novo servidor?
- Escalar minha aplicação?
Logicamente todas as opções são válidas, porém existem uma que pode nos surpreender, o uso de caches! O rails possui nativamente esse recurso, porque não usa-lo?
Tipos de caches
Podemos trabalhar com três tipos de caches:
- Page cache
- Action cache
- Fragment cache
Porém hoje irei abordar somente o fragment cache, acredito ser o mais utilizado. Mas aconselho a conferirem os outros tipos também na documentação do rails.
Para quem não sabe, fragment cache nada mais é que guardar um pedaço de html, para que quando alguém acessar sua página, a aplicação não tenha que ir novamente ao banco de dados, coletar os dados e renderizar-lo em html. Funciona assim: