Freigeben über


Konfigurationseinstellungen des Rollencaches ("ServiceConfiguration.cscfg")

Wichtig

Microsoft empfiehlt, alle neuen Entwicklungen azure Redis Cache zu verwenden. Aktuelle Dokumentation und Anleitung zum Auswählen eines Azure Cache-Angebots finden Sie unter Welches Azure Cache-Angebot ist für mich geeignet?

In diesem Thema werden die verfügbaren Microsoft Azure Cacheeinstellungen in der Datei ServiceConfiguration.cscfg beschrieben. Diese Einstellungen geben die Konfiguration des Zwischenspeicherns für die Zielrolle an. Das Dialogfeld "Rolleneigenschaften" in Visual Studio konfiguriert diese Einstellungen automatisch, wenn Sie das Zwischenspeichern aktivieren. Die Referenzinformationen in diesem Thema sind am nützlichsten für nicht Visual Studio Clouddienstbereitstellungen, die das Zwischenspeichern nutzen möchten.

ServiceConfiguration.cscfg

Das folgende Beispiel zeigt eine grundlegende ServiceConfiguration.cscfg-Datei, die das Zwischenspeichern konfiguriert hat. 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="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

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 innerhalb eines Cachefelds auf oberster Ebene definiert. Jeder benannte Cache wird durch die folgenden drei Felder definiert.

Feld "Caches" BESCHREIBUNG

name

Gibt den Namen des Caches an.

Richtlinie

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

Secondaries

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

Das Richtlinienfeld besteht aus den folgenden Eigenschaften.

Feld "Policy" BESCHREIBUNG

Räumung

Enthält ein einzelnes Feld, typ, das den Typ der Auslassung 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 mit aktiviertem true Ablauf und einem Wert der Deaktivierungen des false Ablaufs.

  3. typ: Der Typ des Ablaufs. 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.

Wichtig

Der Typ ist auf 0 (deaktiviert) festgelegt, isExpirable muss auf faslefestgelegt werden, und defaultTTL muss auf 0festgelegt werden.

serverNotification

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

ClientDiagnosticLevel

Gibt die anfängliche Ebene der Diagnosesammlung zum 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" />

DiagnosticLevel

Gibt die anfängliche Ebene der Diagnosesammlung zum Zwischenspeichern an. Diese Einstellung ist spezifisch für Diagnoseinformationen zu den Rollen, die das Zwischenspeichern hosten.

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

CacheSizePercentage

Der Prozentsatz des verfügbaren Arbeitsspeichers, der zum Zwischenspeichern verwendet werden soll. 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="" />

ConfigStoreConnectionString

Das Azure-Speicherkonto, das zum 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" />