2009-02-09 17 views
9

Soy bastante nuevo en el uso del framework ASP.NET MVC y esperaba poder encontrar alguna ayuda sobre las mejores prácticas al almacenar en caché varias partes de mi aplicación web MVC. Sé que el desbordamiento de pila utiliza MVC y algunas técnicas de almacenamiento en caché increíbles, y es mucho más rápido que mi aplicación, incluso cuando se ejecuta localmente.Almacenamiento en memoria caché en ASP.NET MVC Framework

Tengo algunas preguntas.

  1. ¿Cómo funciona realmente el almacenamiento en caché, y cómo lo "habilita", y cuáles son las diversas opciones. ¿Cuál es el mejor tipo de almacenamiento en caché para usar?

  2. Mi aplicación tiene muchas transacciones de bases de datos, listas que cambian regularmente. Me preocupa la timidez de las actualizaciones de página, en los usuarios que no obtienen la versión más reciente de los datos. ¿Cuál es la mejor manera de lograr un equilibrio entre la velocidad de la aplicación web y la visualización de datos "actualizados"? ¿Qué mejores prácticas encontraron cuando tuvieron que lidiar con este problema?

  3. ¿Cómo guardo en memoria caché las diferentes partes (supongo que las vistas) con diferentes configuraciones de caché? Supongo que podría hacerse con los subcontroladores, pero tengo NFI cómo hacerlo.

  4. Estoy utilizando la integración Castle.Windor a los controladores, no estoy seguro si esto cambia algo.

  5. Cualquier otra práctica recomendada de notas de cosas de las que hay que tener cuidado/cuidado sería muy apreciada.

Respuesta

3

Es posible que desee echar un vistazo a Phil Haack post para algunos caché donut. Él es LA referencia para ASP.NET MVC :)

+0

También hay Stephen Walther y otros en ASP.NET MVC. No solo ha sido pirateado. –

+0

Sí ... pero no hay nadie tan ruidoso como Phil Haack. Tal vez Jeff Atwood lo derrota por lo ruidoso. Pero eso es todo. –

1

Puede fácilmente almacenar en caché las vistas utilizando el atributo OutputCache. Cualquier lista que no se actualice con frecuencia también guardo en caché utilizando los mecanismos de caché nHibernate.

2

Desde la perspectiva de las "mejores prácticas", deberá considerar las mismas cosas que debe tener en cuenta en cualquier aplicación que utilice el almacenamiento en caché.

  • ¿El volumen de tráfico es lo suficientemente alto como para beneficiarse del almacenamiento en caché?
  • ¿Con qué frecuencia cambia un dato en particular? ¿Cuán crucial es la puntualidad?
  • ¿Poseo la capa de acceso a datos? Si es así, ¿puedo activar la actualización en la memoria caché mediante el cambio real de los datos y evitar una caducidad basada en el tiempo?

y la lista continúa.

Cuestiones relacionadas