Share via


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

Important

Microsoft recommande tous les nouveaux développements à l’aide du 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 paramètres de cache de Microsoft Azure disponibles dans le fichier ServiceConfiguration.cscfg. Ces paramètres spécifient la configuration de la mise en cache sur le rôle cible. La boîte de dialogue propriétés du rôle dans Visual Studio configure automatiquement ces paramètres lorsque vous activez la mise en cache. Les informations de référence de cette rubrique sont les plus utiles pour les déploiements de services cloud non Visual Studio qui souhaitent tirer parti de la mise en cache.

ServiceConfiguration.cscfg

L’exemple suivant montre un fichier ServiceConfiguration.cscfg de base qui a configuré la mise en cache. 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="https://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>

NamedCaches

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. &quot;'aide de la référence d'entité de caractère. 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}]}

&quot;'exemple suivant montre le même paramètre que dans l'exemple précédent, avec la sortie mise en forme et les symboles 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 de cache 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.

stratégie

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

Secondaires

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 de stratégie se compose des propriétés suivantes.

Champ Stratégie Description

Expulsion

Contient un seul champ, type, qui spécifie le type d’éviction. Les valeurs possibles sont 0 (LRU) et -1 (Aucune). 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 lesquelles les éléments restent dans le cache avant l’expiration.

  2. isExpirable : valeur d’activation de true l’expiration et valeur de désactivation de false l’expiration.

  3. type : type d’expiration. 0 désactive l'expiration. 1 spécifie l'expiration absolue. 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.

Important

Dans le type est défini sur 0 (désactivé), isExpirable doit être défini faslesur , et defaultTTL doit être défini sur 0.

serverNotification

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

ClientDiagnosticLevel

Spécifie le niveau initial de collecte de diagnostics pour la 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" />

DiagnosticLevel

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

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

CacheSizePercentage

Pourcentage de mémoire disponible à utiliser pour la mise en cache. 30'agir d'un nombre entier sans signe de pourcentage, tel que.

<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="" />

ConfigStoreConnectionString

Compte de stockage Azure à utiliser pour la 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" />