44 votes

Quelles sont les raisons impérieuses d'utiliser un MemoryCache sur un ancien dictionnaire ordinaire <string,object>

Je viens de trouver l' MemoryCache ce qui est nouveau dans .NET 4.

Je reçois ce que cela peut être utile si vous voulez:

  • Limiter le total de l'utilisation de la mémoire cache
  • Un objet d'expiration du temps (time to live) pour les objets que vous mettez dans le cache

Existe-il d'autres raisons impérieuses d'utiliser un MemoryCache sur une norme Dictionary<string,object>

J'ai quelques livres sur le C# et .NET et il n'y a aucune référence n'importe où.

36voto

Thilo Points 108673

Je pense que vous avez cloué les deux raisons convaincantes :-)

Le MemoryCache a une stratégie d'éviction, de sorte qu'il peut jeter des entrées qui ne sont plus nécessaires ou pour lesquelles vous n'avez plus assez de mémoire.

Un dictionnaire ne "perdra pas de contenu".

Mise à jour: MemoryCache est thread-safe et possède des méthodes telles que AddOrGetExisting. Avec un dictionnaire, vous devez synchroniser l'accès vous-même (ou utiliser ConcurrentDictionary).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X