Después de crear una prueba de concepto para un sitio ASP.NET MVC y asegurarme de que existía una separación adecuada de las preocupaciones, noté que estaba haciendo muchas llamadas redundantes de base de datos para información sobre el usuario actual.Almacenamiento en caché de los datos de usuario para evitar viajes de base de datos excesivos
Al ser históricamente una persona de escritorio y servicios, mi primer pensamiento fue almacenar en caché los resultados db en algunos static
s. No fue necesario realizar muchas búsquedas para ver que al hacerlo persistirían los datos del usuario actual en todo el dominio de la aplicación para todos los usuarios.
Luego pensé en usar HttpContext.Current
. Sin embargo, si coloca cosas aquí cuando un usuario está desconectado, entonces cuando inicien sesión, sus datos en caché estarán desactualizados. Podría actualizar esto cada vez que ocurra el inicio/cierre de sesión, pero no puedo decir si me parece correcto. A falta de otras ideas, aquí es donde me inclino.
¿Qué es una forma ligera de almacenar con precisión los detalles del usuario y evitar tener que hacer toneladas de llamadas a la base de datos?
¿Qué tipo de datos necesita almacenar? Si solo se trata de unas pocas propiedades simples, es decir, cadenas, enteros, entonces podría almacenarlas en la cookie de formularios. – willbt