Exporter (0) Imprimer
Développer tout

Cache local (In-Role Cache pour Azure Cache)

Mis à jour: septembre 2014

noteRemarque
Pour obtenir des conseils sur le choix de l'offre Azure Cache appropriée pour votre application, consultez Choix de l'offre Azure Cache appropriée.

Le cache local est une fonctionnalité de Cache Microsoft Azure qui améliore les performances en réduisant les demandes réseau dans les caches distants. Cache Microsoft Azure stocke des objets sous forme sérialisée dans un cache distribué sur plusieurs serveurs. Lorsqu'une application demande un objet du cache, le serveur qui stocke cet objet est identifié. Il envoie l'objet sérialisé à l'application demandeuse sur 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.

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 serveur soit contacté. Sinon, l'objet est récupéré sur le serveur. 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. Les invalidations pour le cache local sont de deux types : invalidation basée sur un délai d'expiration et invalidation basée sur une notification. Pour plus d'informations, consultez Expiration et éviction (In-Role Cache pour Azure Cache).

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.

sync

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 de 300 secondes.

La valeur sync définie sur TimeoutBased permet de conserver 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, activez les notifications pour le cache. La fréquence d'interrogation pour les notifications vérifie si des éléments du cache local ont été modifiés. Une fréquence d'interrogation efficace pour les notifications doit être inférieure au paramètre ttlValue. Un élément supplémentaire, clientNotification, permet de configurer la fréquence d'interrogation pour les notifications en définissant l'attribut pollInterval sur le nombre de secondes. La valeur par défaut est de 300 secondes.

noteRemarque
Les notifications sont une fonctionnalité de In-Role Cache prise en charge uniquement dans les caches hébergés dans des rôles . Les notifications ne sont pas prises en charge dans la Microsoft Azure Shared Caching.

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

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

L'exemple suivant montre la section dataCacheClient précédente modifiée de manière à utiliser des notifications pour fournir une synchronisation supplémentaire en effectuant une interrogation chaque minute (toutes les 60 secondes). Les notifications ne sont prises en charge qu'avec la In-Role Cache basée sur des rôles.

    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
      <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 la page Exemple relatif aux performances et à l'API de mise en cache.

Voir aussi

Afficher:
© 2014 Microsoft