AJAX é uma ferramenta incrível. Os pedidos feitos em AJAX são geralmente mais rápido do que o tempo que uma página carrega e permite criar dinamismo na página. Infelizmente muitos programadores não fazem uso de Cache correctamente quando podem, nesses mesmos pedidos. Deixem-me mostrar como coloco esses pedidos em cache — é super fácil!
Suponhamos a seguinte situação, vou usar um plugin para obter os tweets de um utilizador. Uma vez que temos os tweets desse utilizador, vamos tirar a informação da cache em vez de fazer um pedido AJAX.
O JavaScript
//o nosso objecto Cache
var cache = {};
var formatarTweets(informacao) {
//Formatar os twwets, faz o que quiseres com a informação
};
//Evento
$('meuFormulario').addEvent('submit',function() {
var site = $('site').value; //cgoncalves, por exemplo
var cacheSite = site.toLowerCase();
if(site[cacheSite]) {
formatarTweets(site[cacheSite]);
}
else
//Aqui colocas o código para obter os tweets do utilizador
});
Notem que, antes de fazer o pedido AJAX, verifico a cache para ver se temos guardado os tweets. Se assim for, evito fazer um novo pedido AJAX e simplesmente retorno as informações armazenadas em cache. Se a cache não existir, faço o pedido AJAX e guardo o resultado em cache..
Limpar a cache periodicamente também é bastante fácil!
(function() { cache = {}; }).periodical(1000 * 60 * 10); //10 minutos
Colocar os resultados dos pedidos AJAX em cache num objecto JavaScript é bastante simples de implementar e pode poupar muitos pedidos repetitivos. Eficiência acima de tudo!





