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="{"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}]}" />
<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. "
'aide de la référence d'entité de caractère. La valeur NamedCaches suivante est extraite du fichier ServiceConfiguration.cscfg complet ci-dessus.
{"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}]}
"
'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 |
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 |
expiration |
Contient trois champs qui décrivent la stratégie d'expiration.
Important Dans le type est défini sur |
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" />