Freigeben über


Bereiche und Tagging in Azure In-Role Cache

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-Role Cache unterstützt die Erstellung und Verwendung von benutzerdefinierten Regionen. Dieses Feature ist für Caches verfügbar, die sich auf rollenbasiertem In-Role Cache befinden. Ein Bereich ist eine Untergruppe für zwischengespeicherte Elemente. Bereiche unterstützen auch Anmerkungen für zwischengespeicherte Elemente mithilfe zusätzlicher beschreibender Zeichenfolgen, die als Tags bezeichnet werden. Bereiche unterstützen die Möglichkeit, Suchvorgänge für alle Elemente mit Tags in diesem Bereich auszuführen.

Überlegungen zu Bereichen

Regionen sind optional; wenn Sie sie verwenden möchten, erstellen Sie sie explizit im Code mit der CreateRegion-Methode . Nachdem ein Bereich erstellt wurde, können Sie Objekten Tags hinzufügen, die in den Bereich eingefügt werden. Es gibt Überladungen in den Methoden "Hinzufügen " und "Put ", die einen Regionsnamen akzeptieren. Zum Durchsuchen eines Bereichs nach Objekten mit einem bestimmten Tag verwenden Sie die Methoden GetObjectsByTag, GetObjectsByAnyTag und GetObjectsByAllTags.

Aufgrund der architektonischen Anforderungen der Suchfunktion sind Objekte in einem Bereich auf einen einzigen Cacheserver eingeschränkt. In einer Azure-Bereitstellung bedeutet dies, dass sich die gesamte Region auf einem einzelnen Server befindet. Wenn Hochverfügbarkeit aktiviert ist, ist eine Sicherung des Bereichs auf einem anderen Server vorhanden. In Azure sind diese Server virtuelle Computerinstanzen der Rolle, die In-Role Cache hostet. Dieses Verhalten unterscheidet sich von einem Szenario, in dem keine Bereiche verwendet werden. In diesem Szenario werden neue Elemente in einem verteilten In-Memory-Cache auf einem beliebigen verfügbaren Cacheserver gespeichert.

Warnung

Ein Bereich muss als eine einzelne Entität auf einem der Cacheserver vorhanden sein. Daher muss der Speicherplatz, der für jede einzelne Rolleninstanz verfügbar ist, größer als die größte erwartete Region sein. Verwenden Sie ggf. mehrere kleinere Bereiche, um sich mit den Vorteilen von Bereichen und Tagging sowie des verteilten Caches vertraut zu machen.

Beispiele

Das folgende Beispiel zeigt, wie ein Bereich namens Test erstellt wird.

DataCache cache = new DataCache("default");
cache.CreateRegion("Test");

Das folgende Beispiel zeigt, wie dem Bereich Test drei Objekte mit Tags hinzugefügt werden.

List<DataCacheTag> tagList1 = new List<DataCacheTag>()
{ 
    new DataCacheTag("Tag1"),
    new DataCacheTag("Tag2")
};
List<DataCacheTag> tagList2 = new List<DataCacheTag>()
{
    new DataCacheTag("Tag3")
};
cache.Put("Key1", "Value1", tagList1, "Test");
cache.Put("Key2", "Value2", tagList1, "Test");
cache.Put("Key3", "Value3", tagList2, "Test");

Das folgende Beispiel zeigt, wie der Bereich Test nach allen Objekten mit dem Tag Tag1 durchsucht wird.

foreach (KeyValuePair<string, object> result in 
    cache.GetObjectsByTag(new DataCacheTag("Tag1"), "Test"))
{
    string keyValue = result.Key;
    string objectValue = result.Value.ToString();
}

Weitere Informationen

Konzepte

Rollencachefunktionen in Azure Cache