Questa documentazione è stata archiviata e non viene gestita.

Aree e tag in Cache nel ruolo di Azure

Aggiornamento: agosto 2015

ImportantImportante
Microsoft consiglia di usare Cache Redis di Azure per tutte le nuove attività di sviluppo. Per la documentazione corrente e per istruzioni sulla scelta di un'offerta di Cache di Azure, vedere Qual è l'offerta di Cache di Azure più adatta alle mie esigenze?

Cache nel ruolo supporta la creazione e l'uso di aree definite dall'utente. Questa funzionalità è disponibile per le cache che risiedono in Cache nel ruolo basato su ruoli. 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, nonché operazioni di ricerca negli elementi con tag in esse contenuti.

Le aree sono facoltative. Se si desidera usarle, è necessario crearle 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 oggetti con un determinato tag in un'area, usare i metodi GetObjectsByTag, GetObjectsByAnyTag e GetObjectsByAllTags.

A causa dei requisiti di architettura della funzionalità di ricerca, gli oggetti in un'area sono limitati a un singolo server di cache. In una distribuzione di Azure questo implica che l'intera area risiede in un singolo server. Se è abilitata la disponibilità elevata, è presente un backup dell'area in un altro server. In Azure questi server sono istanze di macchine virtuali del ruolo che ospita Cache nel ruolo. Questo comportamento è diverso dallo scenario in cui non vengono usate aree. In tale scenario i nuovi elementi nella cache in memoria distribuita vengono posizionati in uno dei server di cache disponibili.

WarningAvviso
Un'area deve esistere come entità singola in uno dei server di cache. La quantità di memoria di memorizzazione nella cache disponibile in una singola istanza del ruolo deve pertanto essere maggiore dell'area più grande prevista. Usare possibilmente più aree di dimensioni ridotte per usufruire dei vantaggi delle aree e dei tag, nonché della cache distribuita.

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();
}

Vedere anche

Mostra: