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:
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.
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.