Cette documentation est archivée et n’est pas conservée.

Paramètres de configuration de rôle In-Role Cache (ServiceConfiguration.cscfg)

Mis à jour: août 2015

ImportantImportant
Microsoft recommande que tous les nouveaux développements utilisent le Cache Redis Azure. Pour une documentation et des conseils actualisés sur le choix d'une offre de Cache Azure, voir Quelle est l'offre Azure Cache qui me convient ?

Cette rubrique décrit les paramètres de cache Microsoft Azure dans le fichier ServiceConfiguration.cscfg. Ceux-ci spécifient la configuration de mise en cache sur le rôle cible. La boîte de dialogue des propriétés du rôle dans Visual Studio configure automatiquement ces paramètres lorsque vous activez mise en cache. Les informations de référence dans cette rubrique sont surtout utiles pour les déploiements de service cloud non-Visual Studio qui souhaitent tirer parti de mise en cache.

L'exemple suivant montre un fichier ServiceConfiguration.cscfg de base pour lequel mise en cache est configuré. Il inclut deux caches nommés (default et NamedCache1). Il peut servir d'exemple pour les sections de référence suivantes.

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">
  <Role name="WebRole1">
    <Instances count="2" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&quot;expiration&quot;:{&quot;defaultTTL&quot;:20,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:true}},&quot;secondaries&quot;:1}]}" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Le paramètre Microsoft.WindowsAzure.Plugins.Caching.NamedCaches spécifie tous les caches et leurs paramètres de configuration. Ces informations sont organisées à l'aide de la syntaxe JSON. Les guillemets doubles dans la syntaxe sont échappés à l'aide de la référence d'entité de caractère &quot;. La valeur NamedCaches suivante est extraite du fichier ServiceConfiguration.cscfg complet ci-dessus.

{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&quot;expiration&quot;:{&quot;defaultTTL&quot;:20,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:true}},&quot;secondaries&quot;:1}]}

L'exemple suivant montre le même paramètre que dans l'exemple précédent, avec la sortie mise en forme et les symboles &quot; remplacés par des guillemets doubles. Il permet de mieux comprendre la syntaxe. Il ne doit toutefois pas être utilisé dans le fichier ServiceConfiguration.cscfg.

{
    "caches": [
        {
            "name": "default",
            "policy": {
                "eviction": {"type": 0},
                "expiration": {"defaultTTL": 10, "isExpirable": true, "type": 1},
                "serverNotification": {"isEnabled": false}
            },
            "secondaries": 0
        },
        {
            "name": "NamedCache1",
            "policy": {
                "eviction": {"type": -1},
                "expiration": {"defaultTTL": 20, "isExpirable": true, "type": 2},
                "serverNotification": {"isEnabled": true}
            },
           "secondaries": 1
        }
    ]
}

Tous les caches nommés sont définis dans un champ caches de niveau supérieur. Chaque cache nommé est défini par les trois champs suivants.

 

Champ Caches Description

name

Spécifie le nom du cache.

policy

Stratégie pour les paramètres d'éviction, d'expiration et de notification.

secondaries

Définit le nombre de copies de sauvegarde pour maintenir la haute disponibilité. À ce stade, la valeur doit être 0 ou 1. La valeur 0 désactive la haute disponibilité.

Le champ policy est constitué des propriétés suivantes.

 

Champ Stratégie Description

eviction

Contient un seul champ (type) qui spécifie le type d'éviction. Les valeurs possibles sont 0 (LRU) et -1 (Aucune). La valeur 0 active l'éviction des derniers éléments récemment utilisés, tandis que la valeur -1 la désactive.

expiration

Contient trois champs qui décrivent la stratégie d'expiration.

  1. defaultTTL : nombre de minutes pendant lequel les éléments restent dans le cache avant leur expiration.

  2. isExpirable : la valeur true active l'expiration, tandis que la valeur false la désactive.

  3. type : type d'expiration. La valeur 0 désactive l'expiration. La valeur 1 spécifie l'expiration absolue. La valeur 2 spécifie l'expiration décalée. Lorsque l'expiration décalée est définie, chaque toucher de l'élément dans le cache réinitialise le délai d'expiration.

ImportantImportant
Si type est défini sur 0 (expiration désactivée), isExpirable doit être défini sur fasle et defaultTTL sur 0.

serverNotification

Contient un champ unique (isEnabled) qui spécifie si les notifications sont activées pour ce cache.

Spécifie le niveau initial de la collecte de diagnostics pour mise en cache. Ce paramètre est propre aux informations de diagnostic pour les rôles clients d'un cache. Il fournit des informations de diagnostic sur l'utilisation du cache du point de vue du client. Notez que dans la topologie colocalisée, il est possible d'utiliser ClientDiagnosticLevel et DiagnosticLevel dans la même configuration de rôle.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />

Spécifie le niveau initial de la collecte de diagnostics pour mise en cache. Ce paramètre est propre aux informations de diagnostic sur les rôles qui hébergent mise en cache.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />

Pourcentage de mémoire disponible à utiliser pour mise en cache. Pour les topologies colocalisées, il doit s'agir d'un nombre entier sans signe de pourcentage, tel que 30.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />

Pour les topologies dédiées, il doit s'agir d'une chaîne vide.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />

Compte de stockage Azure à utiliser pour mise en cache. Ce stockage est utilisé pour conserver les données de configuration sur le cluster de cache et est accessible à partir des machines virtuelles formant le cluster de cache. L'exemple suivant utilise le stockage de développement pour le débogage local. Avant le déploiement sur le cloud, vous devez modifier ceci en définissant un compte de stockage réel.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />

Afficher: