Un caché es básicamente una entidad que almacena información de manera transparente con el objetivo de reducir los costos de cómputos de operaciones futuras.
En el ámbito web el uso de caché es conocido en cuanto al servicio de contenido, que suele ser cacheado a fines de agilizar futuros requerimientos del mismo.
En general el uso de caché permite agilizar los procesos así como también reducir los costos operativos, lo cual decanta en una mejor experiencia de usuario.
Utilizando un cache básico
Suponiendo que tenemos una implementación bastante básica de caché con la siguiente interfaz:
cache.set(key, value)
cache.get(key)
Podemos modificar nuestro código para reducir las llamadas a operaciones costosas, reduciendo virtualmente en un 100% el trabajo requerido para las solicitudes adicionales. Caso de uso típico:
// Sin cache, se realiza siempre la
// operacion costosa
data = expensiveOperation();
// Con cache
data = cache.get('data');
// La operacion costosa solo se realiza en
// caso de que no exista la informacion en
// cache
if(!data) {
data = expensiveOperation();
cache.set('data', data);
}
Un ejemplo más concreto se puede dar con las consultas ajax. Suponiendo que nuestra aplicación realiza numerosos requests, podríamos generar un proxy para nuestros métodos ajax a fines de no realizar requests repetidos (algo bastante común en cualquier aplicación web).
« More »