Je construis un magasin en ligne avec de nombreux départements et catégories. Ils sont stockés dans notre base de données et consultés souvent.Asp.net - Caching vs variable statique pour stocker un dictionnaire
Nous utilisons la réécriture d'URL de sorte que presque toutes les demandes dans le magasin génèrent une recherche. Nous devons également parcourir régulièrement les données pour générer des menus pour le magasin principal et les pages du département.
Cette information ne changera pas souvent, donc je pense que je devrais charger la base de données dans un dictionnaire pour accélérer la récupération de l'information. Je sais que la pratique standard consiste à charger des données dans le cache d'application, mais je suppose qu'il y a un certain niveau de sérialisation qui se produit pendant la mise en cache, et pour une grande structure de données, je pense que la surcharge serait significative.
Mon impulsion sur ceci est de mettre le dictionnaire dans une variable statique dans l'une des classes liées. J'aimerais toutefois avoir un apport d'information à ce sujet. Ai-je raison de penser que cette méthode serait plus rapide? Est-ce une pratique horrible? Y a-t-il un meilleur moyen de me manquer?
Je n'arrive pas à trouver beaucoup d'informations à ce sujet et j'apprécierais vraiment toute information que vous pouvez partager. Merci!
Merci beaucoup- C'est précisément ce que j'avais besoin de savoir. –
heureux d'aider :) – LorenVS
Assurez-vous simplement que, si vous utilisez l'application ou le cache, ils sont par machine. Si vous avez plusieurs machines (par exemple, ferme Web) alors vous êtes en difficulté .. et vous devrez utiliser une solution de mise en cache évolutive, comme Microsoft Velocity ou MemCacheD (le 'D' est pour Daemon). –