Partager via


Mise en cache de données d'application

Mise à jour : novembre 2007

ASP.NET dispose d'un mécanisme de mise en cache puissant et facile à utiliser, qui vous permet de stocker des objets en mémoire nécessitant la création de ressources serveur étendues. La mise en cache de ces types de ressources peut améliorer considérablement les performances de votre application.

La mise en cache est implémentée par la classe Cache, avec les instances de cache spécifiques à chaque application. La durée de vie du cache est liée à celle de l'application ; lorsque l'application est redémarrée, l'objet Cache est recréé.

La classe Cache a été conçue dans un souci de simplicité d'utilisation. Vous pouvez placer des éléments dans l'objet Cache et ultérieurement les récupérer à l'aide de simples paires clé/valeur. Pour obtenir des exemples, consultez Comment : ajouter des éléments au cache et Comment : récupérer des valeurs d'éléments mis en cache.

La classe Cache offre des fonctionnalités puissantes qui vous permettent de personnaliser la façon dont les éléments sont mis en cache ainsi que la durée de la mise en cache. Par exemple, lorsque la mémoire système devient rare, le cache supprime automatiquement les éléments rarement utilisés ou à faible priorité pour libérer de la mémoire. Cette technique est connue sous le nom de nettoyage et constitue l'une des façons qu'a le cache de garantir que les données obsolètes ne consomment pas de ressources serveur précieuses.

Vous pouvez faire en sorte que l'objet Cache donne à certains éléments la priorité sur d'autres au moment du nettoyage. Pour indiquer l'importance d'un élément lorsque vous ajoutez un élément à l'aide des méthodes Add ou Insert, vous pouvez spécifier l'une des valeurs d'énumération CacheItemPriority.

Vous pouvez également établir une stratégie d'expiration pour un élément lorsque vous l'ajoutez au cache à l'aide des méthodes Add ou Insert. Vous pouvez définir la durée de vie d'un élément en spécifiant l'heure exacte à laquelle l'élément doit expirer (expiration absolue) à l'aide d'une valeur DateTime. Vous pouvez également spécifier une expiration décalée à l'aide d'une valeur TimeSpan, qui permet de spécifier le temps écoulé, avant que l'élément n'expire, en fonction de l'heure à laquelle il a été accédé pour la dernière fois. Une fois que l'élément expire, il est supprimé du cache. Les tentatives de récupérer sa valeur retournent null (Nothing en Visual Basic) à moins que l'élément ne soit à nouveau ajouté au cache.

Pour les éléments stockés dans le cache dont la durée de vie est très courte, comme ceux dont les données sont fréquemment réactualisées, ou celles qui ne sont valides que pendant un laps de temps défini, définissez une stratégie d'expiration qui laisse ces éléments dans le cache aussi longtemps que les données restent d'actualité. Par exemple, si vous écrivez une application qui effectue le suivi de résultats sportifs en obtenant les données d'un autre site Web, vous pouvez mettre en cache les résultats d'un match jusqu'à ce que les résultats changent sur le site Web source. Dans ce cas, définissez une stratégie d'expiration basée sur la fréquence à laquelle l'autre site Web met à jour les résultats. Vous pouvez écrire le code qui détermine si un score mis à jour se trouve dans le cache. Si le score n'est pas à jour, le code peut lire le score à partir du site Web source et mettre en cache la nouvelle valeur.

Enfin, ASP.NET vous permet de définir la validité d'un élément mis en cache, en fonction d'un fichier externe, d'un répertoire (dépendance de fichier) ou d'un autre élément mis en cache (dépendance de clé). Si l'élément avec la dépendance associée change, l'élément mis en cache est invalidé et supprimé du cache. Vous pouvez utiliser cette technique pour supprimer des éléments du cache lorsque leur source de données change. Par exemple, si vous écrivez une application qui traite des données financières provenant d'un fichier XML, vous pouvez insérer les données du fichier dans le cache et gérer une dépendance par rapport à ce fichier XML. Lorsque le fichier est mis à jour, l'élément est supprimé du cache, votre application relit le fichier XML et place les données actualisées dans le cache.

Remarque :

L'objet Cache ne possède aucune information sur le contenu des éléments qu'il renferme. Il contient simplement une référence à ces objets. Il fournit également des méthodes pour suivre leurs dépendances et définir des stratégies d'expiration.

Pour plus d'informations sur l'utilisation de ces fonctionnalités, consultez Comment : ajouter des éléments au cache.

Voir aussi

Tâches

Comment : ajouter des éléments au cache

Comment : récupérer des valeurs d'éléments mis en cache

Comment : supprimer des éléments du cache dans ASP.NET

Comment : avertir une application lorsqu'un élément est supprimé du cache

Concepts

Vue d'ensemble de la mise en cache ASP.NET

Autres ressources

Nouveautés dans la mise en cache ASP.NET