Tengo una aplicación ASP.NET MVC 3 que básicamente es solo un conjunto de servicios web. Estos servicios web están expuestos por un conjunto de acciones del Controlador. Cada acción del controlador consulta mi base de datos. Debido a que mis datos rara vez cambian, y los datos obsoletos no son una preocupación, pensé que implementaría algo de caché para mejorar el rendimiento. Mis objetivos son:Almacenamiento de datos en caché en ASP.NET MVC 3
- Nunca almacenar en caché una respuesta a un usuario.
- Almacena en caché los registros de la base de datos por hasta 24 horas. Si han pasado 24 horas, vuelva a la base de datos.
¿Tiene sentido? Sé cómo evitar la respuesta del almacenamiento en caché. Sólo tiene que utilizar el siguiente:
HttpContext.Response.Cache.SetCacheability(cacheability)
Sin embargo, no estoy seguro de cómo almacenar en caché mis registros de base de datos en la memoria para un máximo de 24 horas. ¿Alguien tiene alguna sugerencia sobre cómo hacer esto? Ni siquiera estoy seguro de dónde mirar.
Gracias
¿Simplemente desea almacenar en caché todo el contenido de una tabla en la memoria, o desea almacenar en caché una parte utilizando una memoria caché LRU? – hatchet
No parece que estés buscando una solución provista por el framework MVC. El marco MVC está diseñado para crear respuestas para un usuario, y puede almacenar en caché esas respuestas utilizando el atributo integrado OutputCache. Dado que no desea que las respuestas se almacenen en la memoria caché, es posible que desee buscar un método más abstracto de almacenamiento en caché de los resultados de la consulta que no esté vinculado al marco MVC (memcached, etc.). – ken
Quiero almacenar en caché todo el contenido de una tabla en la memoria. En realidad, en mi instancia, mi tabla ya se ha convertido en objetos CLR. Entonces, idealmente, me gustaría almacenar en caché los objetos. – user70192