Cache: Abstração, não otimização

A sabedoria convencional diz que o cache acelera o software. O autor argumenta que isso é apenas parte da história. Após trabalhar com a movimentação de dados entre armazenamento de objetos, disco e memória, o autor propõe que o papel mais crucial do cache é simplificar o software. O artigo explora as limitações de algoritmos de cache pré-definidos (LRU, LFU, etc.) e sugere que o cache atua mais como uma camada de abstração, ocultando os detalhes de armazenamento subjacentes, liberando os programadores da preocupação com a localização do nível de dados. Os mecanismos de cache de banco de dados e SO exemplificam essa abstração. Embora o cache possa apresentar problemas, como o uso indevido do cache de páginas do SO e fsync, isso não significa que se deva abandonar o cache, mas sim entendê-lo e usá-lo melhor.