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 parcial inverso



Cuando en nuestra aplicación web abundan los elementos dinámicos y no podemos hacer un cache completo de la página decidimos hacer un cache parcial, sin embargo en los enfoques normales asumimos que las partes dinámicas son menores que las estáticas y hacemos el cache tipo dona; sin embargo hay ocasiones en las cuales el contenido estático es menor y tenemos que hacer el cache parcial inverso o de hueco de dona, es decir, que en vez de ser los huecos las partes dinámicas en esta ocasión serán las partes estáticas.

Con este enfoque podemos aprovechar inclusive las páginas en las cuales pensamos que no podríamos cachearlas, ayudando así a obtener el máximo rendimiento de nuestra infraestructura de servidores.

En esta sección veremos cómo se puede implementar el cache parcial inverso en una aplicación hecha con ASP.NET MVC.

El hueco de la dona


Este tipo de cache se ejecuta en el lado del servidor y como habíamos dicho anteriormente se dice que es inverso, es porque asumimos en este caso que el contenido estático es de menor predominancia que el dinámico, por lo que tenemos que construir pequeñas secciones que serán cacheadas.

Imaginemos por un momento que tenemos una aplicación donde todo cambia rápidamente excepto una parte de categorías, es esa sección que deberíamos servir desde el cache, para ello construiríamos el hueco de la dona donde se tome en cuenta solo esa sección.

Como crear el cache parcial inverso


Esta técnica a pesar que pueda sonar ostentosa y compleja, realmente es bastante simple de aplicar, simplemente tenemos que definir una acción hija, es decir, que solo esa porción será llamada al momento de hacer el render de la misma.

[panelprimary='Cache de salida']Luego le podemos colocar el cache de salida indicando el tiempo correspondiente, con ello lograremos que solo esa porción de la vista sea cacheada y el resto de la vista cargue normalmente desde sus fuentes dinámicas.[/panelprimary]

A pesar que se pueda ver como despreciable debido a la poca cantidad de elementos que se incorporan al cache, esto realmente hace una diferencia, sobre todo si tenemos miles de usuarios conectados en forma concurrente a nuestra aplicación. Veamos cómo podemos crear la sección para cachear.

asp_cache_parcial_inverso.jpg


Aquí notamos como utilizamos en primera instancia la acción [ChildActionOnly] que nos va a permitir indicarle a la vista que solo será cacheada cuando se llame como una acción hija, luego establecemos el cache de salida por 60 segundos y finalmente llamamos nuestras categorías y retornamos la vista. Luego en nuestra plantilla podremos llamar a esta acción de la siguiente forma:

asp_cache_parcial_inverso2.jpg


Vemos que podemos llamar a nuestra acción definida utilizando el helper HTML y solo esa sección será cacheada, el resto de la página será dinámica, en este caso por supuesto, lo interesante es que podemos tener varias secciones con este tipo de cache dentro de la misma página aumentando así la versatilidad de la técnica.


¿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