Aree e tag per il Servizio cache gestito di Azure
Importante
Microsoft consiglia tutti i nuovi sviluppi che usano Cache Redis di Azure. Per la documentazione e le indicazioni correnti sulla scelta di un'offerta di Cache di Azure, vedere Quale offerta di Cache di Azure è adatta per l'utente?
Microsoft Azure Cache supporta la creazione e l'uso di aree definite dall'utente. Un'area è un sottogruppo di elementi memorizzati nella cache. Inoltre, le aree supportano l'annotazione di elementi memorizzati nella cache con stringhe descrittive aggiuntive denominate tag, Le aree supportano l'esecuzione di operazioni di ricerca in tutti gli elementi con tag di tale area.
Considerazioni sulle aree
Le aree sono facoltative; se si desidera usarli, crearli in modo esplicito nel codice con il metodo CreateRegion . Dopo la creazione di un'area, si possono aggiungere tag a oggetti inseriti in questa area. Esistono overload nei metodi Add e Put che accettano un nome di area. Per cercare un'area per gli oggetti con un tag specificato, usare i metodi GetObjectsByTag, GetObjectsByAnyTag e GetObjectsByAllTags.
In Servizio cache gestita la memoria della cache viene distribuita in diverse aree del servizio. A causa dei requisiti di architettura della funzionalità di ricerca, gli oggetti in un'area sono posizionati in una singola area della memoria nel servizio cache. Se la disponibilità elevata è abilitata, esiste un backup dell'area in un'area diversa della memoria nel servizio cache. Questo comportamento è diverso dallo scenario in cui non vengono usate aree. In questo scenario i nuovi elementi nella cache vengono distribuiti in tutte le aree della memoria del servizio cache.
Avviso
Poiché tutti gli elementi dell'area devono essere collocati nello stesso spazio di memoria del servizio cache, è possibile che l'elemento venga rimosso dalla cache anche se vi è una quantità di memoria rimanente sufficiente. È possibile usare aree più piccole per constatare i vantaggi offerti dall'uso delle aree e dei tag.
Esempio
Il seguente esempio illustra come creare un'area denominata Test
.
DataCache cache = new DataCache("default");
cache.CreateRegion("Test");
Il seguente esempio illustra come aggiungere tre oggetti all'area Test
con tag.
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");
Il seguente esempio illustra come cercare nell'area Test
tutti gli oggetti con tag Tag1
.
foreach (KeyValuePair<string, object> result in
cache.GetObjectsByTag(new DataCacheTag("Tag1"), "Test"))
{
string keyValue = result.Key;
string objectValue = result.Value.ToString();
}