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 |
Synchronisation |
Détermine la manière dont le cache local est invalidé. Les valeurs possibles sont |
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.