Partager via


Paramètres de configuration de client de cache 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 ?

Cette rubrique décrit les conditions requises pour prendre en charge les Service de cache géré dans un fichier de configuration web.config ou app.config .NET Framework. Elle décrit également les options de configuration disponibles pour les clients de cache.

Conseil

Lorsque vous utilisez le package NuGet pour Service de cache géré, le package modifie automatiquement le fichier de configuration. Toutefois, vous pouvez utiliser cette rubrique pour personnaliser davantage les paramètres du client de cache qui NuGet insertions. Pour plus d’informations sur le package de mise en cache NuGet, consultez Configurer un client de cache à l’aide du package de mise en cache NuGet.

Les sections suivantes sont abordées dans cette rubrique.

  • <configSections>

    • <dataCacheClients>

      • <dataCacheClient>

        • <Autodiscover>

        • <localCache>

        • <clientNotification>

        • <serializationProperties>

        • <securityProperties>

      • <cacheDiagnostics>

        • <crashDump>

Exemple de configuration d'un client de cache

L’exemple suivant montre les sections d’un fichier web.config ou app.config qui sont pertinentes pour Service de cache géré. Dans cet exemple, le client de cache default accède au cache hébergé sur mycache.cache.windows.net, et le cache local est activé.

<configuration>
  <configSections>
    <section name="dataCacheClients"
             type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                   Microsoft.ApplicationServer.Caching.Core" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
    
    <section name="cacheDiagnostics" 
             type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                   Microsoft.ApplicationServer.Caching.AzureCommon" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
  </configSections>
  <dataCacheClients>
    <dataCacheClient name="default">
      <!--To use the in-role flavor of Azure Caching, 
          set identifier to be the cache cluster role name -->
      <!--To use the Azure Caching Service, 
          set identifier to be the endpoint of the cache cluster -->
      <autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
      <!--Use this section to specify security settings for connecting to your cache. 
          This section is not required if your cache is hosted on a role that is a part 
          of your cloud service. -->
      <securityProperties mode="Message" sslEnabled="false">
        <messageSecurity authorizationInfo="MyAuthorizationKey" />
      </securityProperties>
    </dataCacheClient>
  </dataCacheClients>
    <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

configSections

Les deux éléments de section nommés suivants doivent être ajoutés à la liste des sections de l’élément configSections .

Nom Description

dataCacheClients

Définit l’élément dataCacheClients du fichier de configuration. Cette section spécifie les paramètres de toutes les configurations de client de cache.

cacheDiagnostics

Définit l’élément cacheDiagnostics du fichier de configuration. Cette section configure les diagnostics spécifiques à Service de cache géré.

L'exemple suivant illustre la définition de ces sections.

<section name="dataCacheClients"
          type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                Microsoft.ApplicationServer.Caching.Core" 
          allowLocation="true" 
          allowDefinition="Everywhere" />
    
<section name="cacheDiagnostics" 
          type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                Microsoft.ApplicationServer.Caching.AzureCommon" 
          allowLocation="true" 
          allowDefinition="Everywhere" />

dataCacheClients

Chaque élément dataCacheClients contient un ou plusieurs éléments dataCacheClient nommés. L’élément dataCacheClients n’a aucun attribut. La possibilité de disposer de plusieurs sections de configuration de client de cache permet aux applications d'utiliser différents paramètres avec différents types de données mises en cache.

dataCacheClient

Chaque élément dataCacheClients contient un ou plusieurs éléments dataCacheClient nommés. Le code d’application charge les paramètres d’un client de cache en référençant le nom de la section dataCacheClient associée.

L’élément dataCacheClients n’a aucun attribut. Toutefois, les éléments dataCacheClient enfants ont plusieurs attributs disponibles. Ces attributs sont décrits dans le tableau suivant.

Attribut Description

Nom

Nom de la configuration de client de cache.

isCompressionEnabled

Active ou désactive la compression. Les valeurs possibles sont true ou false. La valeur par défaut est false (compression désactivée).

useConnectionPool

Active ou désactive le pool de connexions. Les valeurs possibles incluent true et false. La valeur par défaut est true (pool de connexions activé).

maxConnectionsToServer

Lorsque useConnectionPool est défini truesur , cet attribut spécifie le nombre de connexions dans le pool de connexions pour cette configuration du client de cache. Lorsque useConnectionPool est défini falsesur , cet attribut spécifie le nombre de connexions à utiliser pour chaque objet DataCacheFactory dans le code.

Les sections suivantes décrivent les éléments enfants disponibles dans chaque élément dataCacheClient .

autoDiscover

L’élément autoDiscover aide les clients de cache à se connecter automatiquement à un cache cible.

Le tableau suivant décrit les attributs disponibles pour l’élément autoDiscover .

Attribut Description

Isenabled

true Définissez ou false désactivez la connexion automatique locale au rôle qui héberge Service de cache géré.

identifier

Pour Service de cache géré, il s’agit du nom du point de terminaison du cache.

Pour In-Role Cache, il s’agit du nom du rôle dans le même déploiement de service cloud qui héberge In-Role Cache.

<autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />

localCache

L’élément localCache contrôle l’utilisation du cache local. Par défaut, le cache local est désactivé. Lorsqu'il est activé, les éléments récupérés auprès du cache sont stockés localement dans la mémoire sur l'ordinateur client. Ceci permet d'améliorer les performances des demandes Get suivantes, mais peut entraîner l'incohérence des données entre la version mise en cache localement et l'élément réel dans le cache. Pour plus d’informations, consultez Cache local pour Azure Service de cache géré.

Le tableau suivant décrit les attributs disponibles pour 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.

Notes

Les notifications sont prises en charge dans les offres de cache Standard et Premium et les caches nommés de ces offres doivent être configurés pour activer les notifications. Pour plus d’informations, consultez Notifications pour Azure Service de cache géré.

<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />

clientNotification

Le tableau suivant décrit les attributs disponibles pour l’élément clientNotification . Cet élément contrôle le comportement des notifications pour le client de cache.

Attribut Description

pollInterval

Nombre de secondes entre les tentatives d'interrogation. L'interrogation est utilisée pour rechercher les notifications sur le cache. La valeur par défaut est de 300 secondes.

maxQueueLength

Nombre maximal de notifications à placer en file d'attente pour ce client de cache entre les tentatives d'interrogation. La valeur par défaut est de 10000 notifications.

<clientNotification pollInterval="60" maxQueueLength="10000"/>

serializationProperties

Le tableau suivant décrit les attributs disponibles pour l’élément serializationProperties . Cet élément prend en charge le choix d'utiliser la sérialisation intégrée ou personnalisée des éléments mis en cache. Pour plus d’informations, consultez Sérialisation pour Azure Service de cache géré.

Attribut Description

serializer

Détermine le type de sérialisation pour les éléments mis en cache. Les valeurs possibles sont NetDataContractSerializer, BinaryFormatter et CustomSerializer. Par défaut, il s’agit de NetDataContractSerializer.

securityProperties

Le tableau suivant décrit les attributs disponibles pour l’élément securityProperties .

Attribut Description

mode

Les valeurs possibles sont notamment None, Transport et Message. Uniquement Message est pris en charge avec Service de cache géré. Les deux autres paramètres sont liés à Microsoft AppFabric 1.1 pour Windows Server.

sslEnabled

Les valeurs possibles sont true et false. Ce paramètre permet de déterminer si la communication entre le cache et les clients de cache sont chiffrées ou non. La valeur par défaut est false. Pour plus d’informations, consultez Sécurisation des communications entre les clients de cache et le cache.

L’élément securityProperties a un élément enfant, messageSecurity. Le tableau suivant décrit les attributs disponibles pour l’élément messageSecurity .

Attribut Description

authorizationInfo

Clé d'accès au cache, qui peut être récupérée à partir du tableau de bord du cache dans le . Si ceci n'est pas configuré correctement, le client de cache ne pourra pas établir la communication avec le cache.

<securityProperties mode="Message" sslEnabled="false">
  <messageSecurity authorizationInfo="iz8zOmJ0dJBzzzzxa8JxdGJkb281bzxudGF0az9udGxzdGluZi111z8oZS5Ji28lP38jb250Pm9sLmludDMud2luZG93Pi1pb8Qubmx0L1dSQxB2MP45LiZxd25lPii0eDJJZQA5SlZQQUQ2xzIizk8iazlES1P08X8zOFIxZjdzZxp0i3lFQ2FFPSZodJRzOi8xS8JxdGJEb281bzxudGF0az9uxGxzdGluZi5jiz8oZS5pb8QzL8dpbmRxd3MQaz50Lm5ldA==" />
</securityProperties>

cacheDiagnostics

Cette section configure certains paramètres de diagnostic pour Service de cache géré.

Avertissement

Dans la version Service de cache géré, les sections cacheDiagnostics et connexes décrites dans cette rubrique s’appliquent uniquement aux clients de cache de service cloud basés sur le rôle. Si votre client de cache n'est pas un service cloud, ces sections ne sont pas ajoutées par le package Cache NuGet. Pour plus d’informations, consultez À propos de ClientDiagnosticLevel pour Azure Service de cache géré.

Les sections suivantes décrivent les éléments enfants disponibles dans chaque élément cacheDiagnostics .

crashDump

L’élément crashDump contrôle le type de vidages d’incident collectés pour cette application. Service de cache géré les vidages d’incident sont principalement conçus pour diagnostiquer les problèmes liés aux machines de cache. Pour cette raison, les fichiers de configuration du client doivent désactiver la génération des vidages sur incident. Cela peut être effectué en définissant l’attribut dumpLevel sur Off.

Lorsque les vidages sur incident sont activés, le magasin local de mise en cache et le magasin des diagnostics doivent être ajustés dans le fichier ServiceDefinition.csdef afin que la taille soit toujours supérieure à la somme du quota de stockage des incidents et du quota de stockage des journaux configurée dans le fichier (1 000 Mo par défaut).

Le tableau suivant décrit les attributs disponibles pour l’élément crashDump .

Attribut Description

dumpLevel

Les valeurs possibles sont notamment Off, Mini et Full.

dumpStorageQuotaInMB

Limite supérieure de la taille de vidage sur incident.

scheduledTransferPeriodInMinutes

Nombre de minutes entre les transferts des vidages sur incident vers le magasin des diagnostics.

<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />