Comment optimiser l'utilisation du cache pour calculer d'importants volumes de données ?
Bonjour,
Voilà plusieurs jours que je réfléchis à la manière la plus efficace de gérer le cache dans mon application ASP.NET, mais je n'arrive pas à me décider. Peut-être pourrez-vous m'apporter quelques éclairages, notamment en terme de performances.
Voici le contexte. Je travaille sur une grosse application permettant de gérer des documents et des processus commerciaux. En ce moment, je suis plus particulièrement sur la partie Rapports, qui doit permettre aux utilisateurs de pouvoir afficher des statistiques et des graphiques.
Pour récupérer ces informations, j'utilise Linq2SQL avec un modèle de base de donnée (fichier .DBML). Dans ce modèle, j'utilise une procédure stockée qui s'appelle GetAllOpportunities(), et qui me permet de récupérer l'ensemble des informations dont j'ai besoin (on parle de plusieurs milliers de lignes).
Ce que je fais pour l'instant, c'est lorsque l'utilisateur demande un rapport, je récupère le contenu de GetAllOpportunities, puis je place tout ça dans le cache pendant 15 minutes, et j'effectue mes calculs depuis le cache ASP.NET.
Est-ce que vous pensez que c'est une bonne approche ? Est-ce qu'en terme de performances, il ne serait pas mieux de faire faire les calculs par SQL Server ?
Merci par avance pour vos éclairages :)