Konfigurationseinstellungen des Rollencaches ("ServiceConfiguration.cscfg")

Letzte Aktualisierung: August 2015

ImportantWichtig
Microsoft empfiehlt, für alle neuen Entwicklungen Azure Redis Cache zu verwenden. Eine aktuelle Dokumentation und Anleitung bei der Auswahl eines Azure Cache-Angebots finden Sie unter Welches Azure-Cache-Angebot ist das Richtige für mich?

In diesem Thema werden die verfügbaren Microsoft Azure Cache-Einstellungen in der Datei ServiceConfiguration.cscfg beschrieben. Diese Einstellungen geben die Konfiguration von Zwischenspeichern für die Zielrolle an. Das Dialogfeld Rolleneigenschaften in Visual Studio konfiguriert diese Einstellungen automatisch, wenn Sie Zwischenspeichern aktivieren. Die Referenzinformationen in diesem Thema eignen sich bevorzugt für Nicht-Visual Studio Cloud Service-Bereitstellungen, die Zwischenspeichern nutzen sollen.

Das folgende Beispiel zeigt eine Basisdatei ServiceConfiguration.cscfg, in der Zwischenspeichern konfiguriert ist. Dieses Beispiel verwendet zwei benannte Caches: default und NamedCache1. Dieses Beispiel illustriert die folgenden Referenzabschnitte.

<?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>

Die Einstellung Microsoft.WindowsAzure.Plugins.Caching.NamedCaches gibt alle Caches und ihre Konfigurationseinstellungen an. Diese Informationen werden mithilfe von JSON-Syntax organisiert. Die doppelten Anführungszeichen in der Syntax werden mithilfe des &quot;-Zeichenentitätsverweises durch Escape geschützt. Der folgende Wert NamedCaches wurde der oben aufgeführten vollständigen Datei ServiceConfiguration.cscfg entnommen.

{&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}]}

Das folgende Beispiel zeigt die gleichen Einstellungen aus dem vorherigen Beispiel. Die Ausgabe ist jedoch formatiert, und die &quot;-Symbole wurden durch doppelte Anführungszeichen ersetzt. Dies dient dem besseren Verständnis der Syntax und sollte nicht in der Datei ServiceConfiguration.cscfg verwendet werden.

{
    "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
        }
    ]
}

Alle benannten Caches werden mit einem Feld caches auf oberster Ebene definiert. Jeder benannte Cache wird durch die folgenden drei Felder definiert.

 

Feld "Caches" Beschreibung

name

Gibt den Namen des Caches an.

policy

Eine Richtlinie für Entfernungs-, Ablauf- und Benachrichtigungseinstellungen.

secondaries

Definiert die Anzahl der Sicherungskopien, die für hohe Verfügbarkeit verwaltet werden. Zurzeit muss der Wert 0 oder 1 lauten. Ein Wert von 0 deaktiviert hohe Verfügbarkeit.

Das Feld policy besteht aus den folgenden Eigenschaften.

 

Feld "Policy" Beschreibung

eviction

Enthält ein einziges Feld (type), das den Entfernungstyp angibt. Mögliche Werte sind 0 (LRU) und -1 (Keiner). Ein Wert von 0 aktiviert die Entfernung für selten verwendete (Least Recently Used, LRU) Elemente. Mit dem Wert -1 wird die Entfernung deaktiviert.

expiration

Enthält drei Felder, die die Ablaufrichtlinie beschreiben.

  1. defaultTTL: Die Anzahl der Minuten, die Elemente im Cache verbleiben, bevor sie ablaufen.

  2. isExpirable: Ein Wert von true aktiviert den Ablauf, ein Wert von false deaktiviert den Ablauf.

  3. type: Der Ablauftyp. Ein Wert von 0 deaktiviert den Ablauf. Ein Wert von 1 gibt den absoluten Ablauf an. Ein Wert von 2 gibt einen gleitenden Ablauf an. Beim gleitenden Ablauf wird durch jede Berührung des Elements im Cache der Ablaufzeitraum zurückgesetzt.

ImportantWichtig
Wenn type auf 0 (deaktiviert) festgelegt ist, muss isExpirable auf fasle festgelegt werden, und defaultTTL muss auf 0 festgelegt werden.

serverNotification

Enthält ein einzelnes Feld (isEnabled), das angibt, ob Benachrichtigungen für diesen Cache aktiviert sind.

Gibt die anfängliche Stufe der Diagnoseerfassung für Zwischenspeichern an. Diese Einstellung ist für Diagnoseinformationen für Rollen spezifisch, die Clients eines Caches sind. Diese Einstellung stellt Diagnoseinformationen zur Verwendung des Caches aus der Sicht des Clients bereit. Beachten Sie, dass es in der zusammengestellten Topologie möglich ist, ClientDiagnosticLevel und DiagnosticLevel in der gleichen Rollenkonfiguration gemeinsam zu verwenden.

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

Gibt die anfängliche Stufe der Diagnoseerfassung für Zwischenspeichern an. Diese Einstellung ist für Diagnoseinformationen für Rollen spezifisch, die Zwischenspeichern hosten.

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

Der Prozentsatz des verfügbaren Arbeitsspeichers, der für Zwischenspeichern verwendet werden kann. In zusammengestellten Topologien sollte es sich dabei um eine ganze Zahl ohne Prozentzeichen handeln, z. B. 30.

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

Für dedizierte Topologien sollte es sich um eine leere Zeichenfolge handeln.

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

Das Azure--Speicherkonto, das für Zwischenspeichern verwendet werden soll. Dieser Speicher wird zum Speichern von Konfigurationsdaten zum Cachecluster verwenden. Auf ihn kann von allen virtuellen Computern zugegriffen werden, aus denen der Cachecluster besteht. Beachten Sie, dass das folgende Beispiel den Entwicklerspeicher für lokales Debuggen verwendet. Vor der Bereitstellung in der Cloud sollten Sie diesen Speicher in ein tatsächliches Speicherkonto ändern.

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

Anzeigen: