Cargando



Cache de respuestas con AngularJS

En este tutorial veremos cómo podremos establecer y configurar el cache para las respuestas de una petición en una aplicación hecha con AngularJS.


sep 26 2014 03:21
Avanzado
sep 29 2014 18:34
Hacer cache en una aplicación nos ayuda a mantener el rendimiento de forma óptima, en AngularJS no es diferente, si tenemos almacenadas en cache las respuestas más buscadas, probablemente nuestra aplicación va a ser mucho más rápida que si no las tuviesemos.

Por defecto esta opción no está activa, esto es debido a que originalmente las respuestas no deberían estar en el cache, pero por ejemplo si siempre vamos a consultar una información que en el transcurso del día no va a cambiar, es bueno que no se tenga que buscar por cada request.

¿Qué hace el cache?


El cache simplemente almacena de forma temporal en el cliente la información que recibe del servidor, es decir, la primera vez que consultamos la información si la extraemos de la fuente externa, pero ya las siguientes veces se hace la consulta del repositorio de datos que maneja la aplicación.

Como mencionamos el cache está desactivado por defecto, por lo que tenemos que activarlo cada vez que necesitemos que una respuesta sea almacenada, para ello podremos utilizar la opción cache: true en el método con el cual hacemos la llamada al recurso, veamos en la siguiente imagen como luce un pequeño código que hace esto:

angular_cache_respuestas.jpg


Vemos entonces que primero llamamos con el método $http al otro método en este caso get(), ya dentro luego que especificamos la URL del recurso externo también colocamos la instrucción cache: true que habíamos mencionado, finalmente manejamos de forma adecuada la respuesta exitosa al request en caso de haberla.

Consideraciones


A pesar que esta utilidad es bastante buena para el rendimiento de la aplicación, a veces para la facilidad de uso del usuario no puede serlo tanto, esto se debe a varias cosas, pero la primera es por la forma en la que se refrescan los elementos.

Peticiones simultáneas
AngularJS es lo suficientemente inteligente como para saber que si hay varias peticiones simultaneas, solo ejecutar una y luego servir con el resultado a las demás, pero que pasa si es un contenido seleccionable por el usuario, en este caso en primera instancia pudiera ver el contenido viejo y repentinamente actualizarse al nuevo contenido.


Es por ello que debemos tener cuidado en la forma en la que podemos utilizar esta herramienta de cache en nuestra aplicación, ya que si le damos un uso no correcto podemos afectar la forma en la cual nuestro usuario manipula la aplicación de forma negativa.

Esto lo explicamos porque a pesar que la respuesta viene del cache, su naturaleza sigue siendo asincrónica, por lo que se comportará de la misma forma que si se estuviese obteniendo los datos desde la URL.

Con esto finalizamos este tutorial, como vemos tenemos una herramienta adicional que nos permite aumentar el rendimiento de la aplicación al reducir la necesidad de buscar datos desde otros recursos, con esta herramienta de cache podemos lograr un funcionamiento más cercano a la cero espera al interactuar con la aplicación.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X