Cargando



Manejo de cache a fondo con ASP.NET MVC

En este tutorial veremos los distintos tipos de cache en una aplicación y las diferentes técnicas que tenemos disponible para su aplicación en el servidor y en ASP.NEt MVC.


ago 29 2014 05:13
Avanzado
sep 19 2014 05:28

Cache del Framework



ASP.NET MVC nos ofrece una alternativa para trabajar con el cache y es su propio motor de cache dentro del nivel de aplicación, este funciona de manera similar al HttpApplicationState sin embargo no depende del estado del servidor IIS para mantener los datos.

De hecho para que el cache se renueve deben ocurrir algunas condiciones muy puntuales, por lo que se hace bastante confiable para manejar datos no críticos en nuestras aplicaciones pero que sean tan concurridos que nos ayuden a descargar trabajo del servidor.

En esta sección vamos a ver en profundidad el cache de ASP.NET MVC y la forma en la cual podemos trabajar sus diferentes condiciones.

¿Cómo Trabaja?


El cache de ASP.NET MVC trabaja de forma llave-valor, es decir, se conforman elementos con un nombre único y estos tendrán los valores que necesitemos almacenar, pero a diferencia de las alternativas HttpApplicationState y HttpContext.Items, la información no está limitada al usuario ni al request y tampoco está limitada por los procesos del servidor web, haciendo de esta forma de cache algo mucho más avanzado y menos problemático para trabajar.




asp_cache.jpg


Sabemos que el cache no es un almacenamiento definitivo, es por ello que este se va a renovar cuando ocurra alguna de las siguientes condiciones:
  • Se llegue a la fecha de expiración del cache, es decir, cuando llegue el momento en que la data almacenada sea considerada que es muy vieja.
  • Cuando cambia la dependencia del elemento, haciendo entonces que este ya no sea válido.
  • Cuando el servidor se queda con pocos recursos y debe obtener más, entonces utiliza el espacio ocupado por el cache.

Expiración del cache


Este concepto es clave, ya que nos permite establecer la vigencia y validez de los datos almacenados, también dentro de este mismo tema, tenemos varios tipos de expiración, lo que hace que podamos ajustar nuestra aplicación a un nivel mucho más profundo cuando se trata de establecer una mejor forma de acceso a los datos. Tenemos dos tipos de expiración, veamos a continuación:

Expiración deslizante


Está consiste en renovar la vigencia del elemento mientras se esté utilizando y una vez que ya no se está utilizando se empieza a correr un tiempo tras el cual si no hubo uso de los datos se borran, pero mientras se estén usando la fecha de expiración se va corriendo hacia el futuro.

Por ejemplo si tenemos un set de datos en el cache y pasamos más de 20 minutos sin utilizarlos se borran para evitar que sigan consumiendo espacio en memoria.

Expiración absoluta


En esta modalidad el cache tiene una fecha exacta de expiración y sin importar el uso o no de los datos una vez cumplida la fecha es borrado, esto se utilizar más que todo cuando tenemos datos que sabemos que no son muy utilizados y que podemos renovar con cierta frecuencia.

Importante
Es de destacar que solo podemos utilizar un tipo de expiración por cada elemento que tengamos en el cache, sin embargo podemos utilizar ambos tipos en nuestra aplicación.


Finalizando esta sección hemos aprendido un poco más sobre lo que es el cache propio de ASP.NET MVC en nuestras aplicaciones.


¿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