Mise en cache dans une application de console
J'ai besoin de mettre en cache une liste générique alors je n'ai pas à interroger le databse plusieurs fois. Dans une application web, je voudrais juste ajouter à la httpcontext.current.cache
. Quelle est la méthode appropriée pour mettre en cache les objets dans les applications de console?
source d'informationauteur Tom Squires | 2011-09-29
Vous devez vous connecter pour publier un commentaire.
Le garder en tant que membre de l'instance de la classe conteneur. En web app, vous ne pouvez pas le faire depuis la page de la classe de l'objet est recréé à chaque requête.
Cependant .NET 4.0 a également MemoryCache classe pour ce but.
Dans une classe de niveau variable. Sans doute, dans le
main
méthode de la console de votre application, vous devez créer au moins un objet d'une certaine sorte. Dans la classe de cet objet, vous déclarez une classe de niveau variable (unList<String>
ou autre) dans lequel vous cache tout ce qui a besoin de la mise en cache.Ici est très simple cache classe j'utilise une console qui a les nettoyer et facile de mise en œuvre.
L'Utilisation:
La Classe:
Ref: Comment puis-je cache un jeu de données pour arrêter les allers-retours db?
Il y a de nombreuses façons de mettre en œuvre des caches, en fonction de ce qu'est exactement vous êtes en train de faire. Habituellement, vous serez à l'aide d'un dictionnaire pour contenir les valeurs en cache. Voici mon simple mise en œuvre d'un cache, qui met en mémoire cache les valeurs pour un temps limité:
Vous pouvez passer d'une expression lambda à la méthode Get, qui récupère les valeurs à partir d'une base par exemple.
Utiliser Le Pattern Singleton.
http://msdn.microsoft.com/en-us/library/ff650316.aspx
Vous pourriez être en mesure de simplement utiliser un simple Dictionnaire. La chose qui rend le Cache de si spécial dans l'environnement web, c'est qu'il persiste et est définie de telle manière que de nombreux utilisateurs peuvent y accéder. Dans une application console, vous n'avez pas ces problèmes. Si vos besoins sont assez simples, le dictionnaire ou de structures similaires, peut être utilisé pour rapidement valeurs de recherche vous sortez d'une base de données.