Je tente de créer un Data Access Layer pour mon application Web. Actuellement, toutes les données sont stockées dans la session. Quand je suis fini, le DAL va peupler et retourner les données. Est-ce une bonne idée de stocker les données renvoyées dans la session? Un cache distribué/partagé? Ou juste ping la base de données à chaque fois? Remarque: En général, le nombre de lignes dans la table de données sera faible < 2000.DAL, Session, Architecture de cache
Informations complémentaires:
Presque aucun des données sont partagées. Les paramètres qui sont envoyés aux requêtes SQL sont choisis par l'utilisateur. Les valeurs de paramètre disponibles pour l'utilisateur dépendent de l'utilisateur. Dans la plupart des cas, il est impossible pour deux utilisateurs d'exécuter les mêmes requêtes SQL. Cependant, le même utilisateur peut exécuter la même requête plus d'une fois.
Plus d'infos: Nombre d'utilisateurs simultanés ~ 50 000
Informations importantes: Dans 99% des cas, deux utilisateurs auront les mêmes données/requêtes, cependant, le même utilisateur peut exécuter la même requête/obtenir les mêmes données plusieurs fois.
Merci
1. Presque aucun utilisateur n'aura les mêmes données 2. HttpCache ne fonctionne pas avec plus d'un serveur. Cependant, le concept semble être une bonne idée lorsqu'il est utilisé avec Velocity ou quelque chose de similaire –
La taille du cache est censé être relativement faible, je ne pense pas que 50 000 utilisateurs avec plusieurs données dans le cache seront viables. –
@Joe: Vrai. Je suppose que la meilleure chose à faire est de ne mettre en cache aucune donnée pour commencer, puis de profiler l'application pour voir quelles tables bénéficieraient le plus de la mise en cache. –