Estoy trabajando en una aplicación web en ASP.NET/C# que debe ser escalable para manejar la alta carga del usuario (probablemente se ejecutará en una granja de servidores web). Dado que atenderá a un gran número de usuarios, alrededor de 1 millón más, pero el número de usuarios en línea sería alrededor de 30K-50K. Voy a utilizar el almacenamiento en caché (proveedor de base), y se preguntaba:Almacenamiento en memoria caché de todos los usuarios en ASP.NET
¿Es una buena idea para almacenar en caché todos los usuarios por el rendimiento? Planeo guardar en caché todos los demás datos genéricos, como la configuración, etc., pero ¿qué tan eficiente sería almacenar en caché TODOS los usuarios en la memoria? Si un usuario cambia su perfil, volveré a cargar solo ese usuario en particular en el caché (que tiene una colección de todos los usuarios). Alguna sugerencia sobre este enfoque?
¿Debo preocuparme por el bloqueo cuando uso este caché de usuarios anterior? Solo una edición del perfil sería el usuario mismo, sería una operación atómica, aunque habrá múltiples operaciones de lectura en diferentes hilos. Entonces, mientras obtengo usuarios de la caché o actualizo a un usuario particular, ¿debería usar el bloqueo?
Gracias
Asif