Cache local pour service de cache géré Azure

Important

Microsoft recommande tous les nouveaux développements d’utiliser le Cache Redis Azure. Pour obtenir de la documentation et des conseils actuels sur le choix d’une offre Azure Cache, consultez Quelle offre Azure Cache est adaptée à moi ?

Le cache local est une fonctionnalité de Microsoft Azure Cache qui améliore les performances en réduisant les demandes réseau adressées au service de cache. la mise en cache stocke les objets sous forme sérialisée dans un cache distribué en mémoire. Quand une application demande un objet provenant du cache, l'objet sérialisé est envoyé à l'application demandeuse via le réseau. L'application désérialise ensuite l'objet pour son utilisation. Pour accélérer le processus de récupération d'un objet, activez le cache local.

Présentation du cache local

Lorsque le cache local est activé, le client de cache stocke une référence à l'objet localement. Cette référence locale permet de conserver l'objet actif dans la mémoire de l'application cliente. Lorsque l'application demande l'objet, le client de cache vérifie si celui-ci réside dans le cache local. Si c'est le cas, la référence à l'objet est immédiatement renvoyée sans que le service de cache soit contacté. Sinon, l'objet est récupéré du service de cache. Le client de cache désérialise alors l'objet et stocke la référence à ce nouvel objet récupéré dans le cache local. L'application cliente utilise ce même objet.

La durée de vie d'un objet dans le cache local dépend du nombre maximal d'objets dans le cache local et de la stratégie d'invalidation. Il existe deux types d’invalidation pour le cache local : l’invalidation basée sur le délai d’attente et l’invalidation basée sur les notifications. Pour plus d’informations, consultez Expiration et éviction pour Azure Service de cache géré.

Paramètres de configuration

Le cache local peut être activé et configuré à l'aide du fichier de configuration d'application ou web.config. Vous pouvez ajouter un élément localCache à la section dataCacheClient . Le tableau suivant répertorie les attributs de l’élément localCache .

Attribut Description

Isenabled

Définissez sur true ou false pour activer ou désactiver le cache local.

Synchronisation

Détermine la manière dont le cache local est invalidé. Les valeurs possibles sont TimeoutBased et NotificationBased.

objectCount

Nombre maximal d'objets à stocker dans le cache local. La valeur par défaut est 10000.

ttlValue

Nombre de secondes pendant lesquelles l'objet est conservé dans le cache local. La valeur par défaut est 300 secondes.

Une valeur de synchronisation de TimeoutBased conserve les objets mis en cache localement jusqu’à ce que la limite ttlValue soit atteinte. La valeur NotificationBased utilise des notifications en plus du mécanisme basé sur les délais d'expiration. Pour utiliser des notifications pour l’invalidation, les notifications doivent d’abord être activées pour le cache en suivant les étapes de l’activation des notifications de cache. La fréquence d'interrogation pour les notifications vérifie si des éléments du cache local ont été modifiés. Un intervalle d’interrogation effectif pour les notifications doit être plus court que le paramètre ttlValue pour être effectif. Un élément supplémentaire, clientNotification, peut être utilisé pour configurer l’intervalle d’interrogation pour les notifications en définissant l’attribut pollInterval sur le nombre de secondes. La valeur par défaut est 300 secondes.

Notes

Les notifications sont disponibles dans les offres de cache Standard et Premium, mais pas dans l'offre Basic. Pour plus d’informations, consultez Offres de cache pour Azure Service de cache géré.

Exemples

L’exemple suivant montre une section dataCacheClient qui utilise le cache local avec une expiration locale basée sur un délai d’expiration de cinq minutes (300 secondes).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>

L’exemple suivant montre la section dataCacheClient précédente modifiée pour utiliser les notifications pour fournir une synchronisation supplémentaire en interrogeant toutes les minutes (60 secondes).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
  <clientNotification pollInterval="60" />
</dataCacheClient>

Pour télécharger un exemple qui utilise le cache local, consultez l’API cache et l’exemple de performances.

Voir aussi

Autres ressources

Fonctionnalités du service de cache géré Azure