2010-04-01 5 views
0

Pour rendre mon application Web extranet encore plus rapide et plus évolutive, je pense à l'utilisation de certains mécanismes de mise en cache. Pour certaines pages, nous utiliserons la mise en cache HTML, veuillez ignorer cette technique pour cette question.Combinaison de session et de cache

Par exemple: à un moment donné dans le temps de 2500 gestionnaires simultanément ouvrir une session sur notre application
(la plupart d'entre eux avec le même compte/projet)

je pense à stocker un compte-cachekey et projet-cachekey dans la session de l'utilisateur et l'utiliser pour obtenir l'élément du cache.

J'aurais pu simplement stocker le compte dans la session, mais cela aurait pour résultat 2500 des mêmes comptes en mémoire.

Y at-il une meilleure solution à cela ou est-ce logique :)?

Répondre

1

Généralement ajouter des éléments à la session est considéré comme ayant un impact négatif sur l'évolutivité. En fonction de votre technologie, vous pouvez avoir un problème de mise à l'échelle sur plus d'un serveur lors de l'utilisation de variables de session (par exemple, dans un ASP classique). Cela dit, si la performance est votre priorité, vous pouvez mettre en cache des données dans les variables de session et d'application. J'ai toujours pensé que cela ne valait pas la peine d'un jeu de données de cette taille parce que SQL Server aura presque certainement ces données en mémoire cache et tout ce que vous économisez est un aller-retour du réseau. Enfin, observez d'abord l'optimisation du code et du matériel pour améliorer les performances. Migration vers du code géré/compilé, réduction de la taille de votre fichier html, optimisation de vos images, réduction de JavaScript et, bien sûr, de la mise en cache HTML que vous avez mentionnée précédemment - ce sont toutes des choses que je considérerais en premier.

Questions connexes