Je travaille sur une application Web dans ASP.NET/C# qui doit être évolutive pour gérer la charge élevée des utilisateurs (sera probablement exécutée dans une batterie de serveurs Web). Comme il va répondre à un grand nombre d'utilisateurs, environ 1 million de plus, mais le nombre d'utilisateurs en ligne serait d'environ 30K-50K. Je prévois d'utiliser la mise en cache (fournisseur basé), et je me demandais:Mise en cache de tous les utilisateurs dans ASP.NET
Est-ce une bonne idée de mettre en cache TOUS les utilisateurs de la performance? Je prévois de mettre en cache toutes les autres données génériques, comme les paramètres, etc, mais comment serait-il efficace de mettre en mémoire tous les utilisateurs en mémoire? Si un utilisateur modifie son profil, je ne rechargerai que cet utilisateur particulier dans le cache (ayant une collection de tous les utilisateurs). Des suggestions sur cette approche?
Dois-je m'inquiéter du verrouillage lorsque j'utilise ce cache d'utilisateurs? Une seule modification du profil serait l'utilisateur lui-même, ce serait une opération atomique, bien qu'il y ait plusieurs opérations de lecture dans différents threads. Donc, en récupérant les utilisateurs du cache, ou en mettant à jour un utilisateur particulier, devrais-je utiliser le verrou?
Merci
Asif