Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Informationen zum Rollencache für Azure Cache

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?

Rolleninterner Cache unterstützt das Hosten von Zwischenspeichern-Diensten für Azure--Rollen. In diesem Modell ist der Cache Teil des Clouddiensts. Eine Rolle im Clouddienst wird ausgewählt, um den Rolleninterner Cache zu hosten. Die aktuell ausgeführten Instanzen dieser Rolle verbinden ihre Arbeitsspeicherressourcen, um einen Cachecluster zu bilden. Dieser private Cachecluster steht nur den Rollen innerhalb derselben Bereitstellung zur Verfügung. Die folgenden zwei Hauptbereitstellungstopologien stehen für Rolleninterner Cache zur Verfügung: zusammengestellt und dediziert. Zusammengestellte Rollen hosten außerdem weiteren nicht zwischenspeichernden Anwendungscode und weitere Dienste. Dedizierte Rollen sind Workerrollen, die nur für Zwischenspeichern verwendet werden. Die folgenden Themen behandeln diese Zwischenspeichern-Topologien ausführlicher.

Schrittweise Anleitungen zum rollenbasierten rolleninternen Rolleninterner Cache finden Sie unter Verwenden des In-Role Caches (Azure Cache). Herunterladbare Beispiele finden Sie unter Azure In-Role Cache-Beispiele.

Dieser Abschnitt bietet einen Überblick über drei Schlüsselkonzepte, die sich auf rollenbasierten Rolleninterner Cache beziehen.

  1. Cachecluster

  2. Benannte Caches

  3. Cacheclients

Azure--Rollen weisen mindestens eine Instanz auf. Jede Instanz ist ein virtueller Computer, der zum Hosten der angegebenen Rolle konfiguriert ist. Wenn eine Rolle, für die Rolleninterner Cache aktiviert ist, für mehrere Instanzen ausgeführt wird, wird ein Cachecluster gebildet. Ein Cachecluster ist ein verteilter Cachedienst, der den kombinierten Arbeitsspeicher aus allen Computern im Cluster verwendet. Anwendungen können dem Cachecluster Elemente hinzufügen bzw. Elemente aus ihm entfernen, ohne wissen zu müssen, auf welchem Computer die Elemente gespeichert sind. Wenn hohe Verfügbarkeit aktiviert ist, wird eine Sicherungskopie des Elements automatisch in einer anderen Instanz eines virtuellen Computers gespeichert.

noteHinweis
Nur ein Cachecluster wird für jeden Cloud Service unterstützt. Es ist möglich, mehrere Cachecluster in einem Cloud Service einzurichten, indem separate Speicherkonten für jede Rolle angegeben werden. Diese Konfiguration wird jedoch nicht unterstützt.

Wenn Sie Rolleninterner Cache für eine Azure--Rolle aktivieren, geben Sie die Arbeitsspeichergröße an, die für Caching verwendet werden kann. In einem zusammengestellten Szenario verwenden Sie einen bestimmten Prozentsatz des verfügbaren Speichers auf den virtuellen Computern, die die Rolle hosten. In einem dedizierten Szenario wird der gesamte verfügbare Speicher auf den virtuellen Computern für Caching verwendet. Der verfügbare Speicher ist jedoch aufgrund der Speicheranforderungen des Betriebssystems immer kleiner als der gesamte physische Speicher auf dem virtuellen Computer.

Aus diesem Grund hängt die Gesamtmenge des Speichers von Zwischenspeichern vom Rollenspeicher ab, der für Zwischenspeichern reserviert wurde, multipliziert mit der Anzahl der Rollen. Sie können den Zwischenspeichern-Gesamtspeicher effektiv nach oben oder nach unten skalieren, indem Sie die Anzahl der ausgeführten Instanzen für die betreffende Rolle erhöhen oder verringern.

WarningWarnung
Bei der Abwärtsskalierung aktuell ausgeführter Instanzen der Rolle, die Rolleninterner Cache hostet, sollten Sie die Instanzzahl um nicht mehr als drei Instanzen gleichzeitig verringern. Nachdem diese Änderung abgeschossen ist, können Sie bis zu drei weitere ausgeführte Instanzen entfernen. Wiederholen Sie diesen Vorgang, bis die erforderliche Anzahl ausgeführter Instanzen erreicht wird. Die gleichzeitige Abwärtsskalierung um mehr als drei Instanzen führt zu einer Instabilität des Cacheclusters.

Jeder Cachecluster verwaltet gemeinsam verwendete Informationen zum Laufzeitstatus des Clusters im Azure--Speicher. Während der Entwicklung können Sie den Azure--Speicheremulator verwenden. Bereitgestellte Rollen müssen ein gültiges Azure--Speicherkonto angeben. In Visual Studio können Sie das entsprechende Speicherkonto auf der Registerkarte Caching der Rolleneigenschaften angeben.

Jeder Cachecluster verfügt über mindestens einem Cache namens default. Für den rollenbasierten Rolleninterner Cache können Sie auch weitere benannte Caches hinzufügen. Für jeden Cache können verschiedene Einstellungen geändert werden. Der folgende Screenshot zeigt den Abschnitt Einstellungen des benannten Caches der Registerkarte Caching für die Rolleneinstellungen von Visual Studio.

Zwischenspeichern von Eigenschaften für benannte Caches

Klicken Sie in Visual Studio auf die Schaltfläche Benannten Cache hinzufügen, um weitere benannte Caches hinzuzufügen. Im Beispiel oben wurden zwei weitere benannte Caches hinzugefügt: NamedCache1 und NamedCache2. Jeder Cache weist andere Einstellungen auf. Ändern Sie diese Einstellungen, indem Sie die jeweiligen Felder in der Tabelle auswählen und ändern.

Benannte Caches bieten Anwendungsentwicklern Flexibilität. Jeder benannte Cache verfügt über eigene Eigenschaften. Ein Cache kann z. B. Hohe Verfügbarkeit aktivieren, um hohe Verfügbarkeit nutzen zu können. Andere Caches erfordern diese Einstellung ggf. nicht, und hohe Verfügbarkeit verlangt die zweifache Speichergröße für jedes zwischengespeicherte Element. Ressourcen werden effizienter genutzt, wenn hohe Verfügbarkeit nur für die Caches verwendet wird, die diese Funktion erfordern. Es sind ähnliche Szenarien denkbar, in denen mehrere Caches mit unterschiedlichen Eigenschaften verwendet werden, um den Anforderungen der Anwendung zu genügen.

Ein Cacheclient ist beliebiger Anwendungscode, der Elemente im Cachecluster speichert bzw. aus diesem abruft. Mit Rolleninterner Cache für Rollen müssen Cacheclients der gleichen Zwischenspeichern-Rolle angehören oder in andere Rollen in der Bereitstellung integriert sein. Konfigurieren Sie Cacheclients mithilfe der Anwendungs- oder Webkonfigurationsdatei. Weitere Informationen finden Sie unter Vorgehensweise: Vorbereiten von Visual Studio für die Verwendung von Azure-In-Role Cache. Das folgende Beispiel zeigt das Element dataCacheClient in einer Konfigurationsdatei.

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="CachingRole1" />
    <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
  </dataCacheClient>
</dataCacheClients>

Im vorherigen Beispiel verfügt das Element autoDiscover über ein Attribut identifier, das auf CachingRole1 festgelegt wurde. Dieser Bezeichner gibt an, dass für CachingRole1 die Option Rolleninterner Cache aktiviert ist. Auf diese Weise wird der Speicherort des Cacheservers bereitgestellt. Der Cacheclient verwendet CachingRole1 automatisch in allen Vorgängen von Zwischenspeichern.

Nachdem der Cacheclient konfiguriert wurde, kann er auf jeden Cache mithilfe des Namens zugreifen. Das folgende Beispiel greift auf den Cache NamedCache1 zu und fügt diesem ein Element hinzu.

DataCache cache = new DataCache("NamedCache1", "default");
cache.Put("testkey", "testobject");

Der Konstruktor DataCache nimmt zwei Parameter an: den Cachenamen und den Abschnittsnamen dataCacheClient. Weitere Informationen zum Cachenamen finden Sie im vorherigen Abschnitt zum Thema Benannte Caches.

Siehe auch

Konzepte

Cache

Anzeigen: