Esta documentação foi arquivada e não está sendo atualizada.

Regiões e marcação no Cache na Função do Azure

Atualizado: agosto de 2015

ImportantImportante
A Microsoft recomenda que todos os novos desenvolvimentos usem Cache Redis do Azure. Para documentação atual e orientação sobre como escolher uma oferta de Cache do Azure, consulte Qual oferta de Cache do Azure é ideal para mim?

O Cache na Função dá suporte à criação e uso de regiões definidas pelo usuário. Esse recurso está disponível aos caches residentes no Cache na Função baseado em função. Uma região é um subgrupo de itens em cache. As regiões também oferecem suporte à anotação de itens em cache com cadeias de caracteres descritivas adicionais, conhecidas como marcas. As regiões oferecem suporte à capacidade de executar operações de pesquisa em qualquer item marcado em uma região.

As regiões são opcionais; se quiser usá-las, crie-as explicitamente no código com o método CreateRegion. Depois de criar uma região, você pode adicionar marcas aos objetos inseridos nessa região. Existem sobrecargas dos métodos Add e Put que aceitam um nome de região. Para pesquisar objetos com uma determinada marca em uma região, use os métodos GetObjectsByTag, GetObjectsByAnyTag e GetObjectsByAllTags.

Devido aos requisitos arquitetônicos da funcionalidade de pesquisa, os objetos em uma região são limitados a um único servidor de cache. Em uma implantação do Azure, isso significa que toda a região reside em um único servidor. Se a alta disponibilidade está ativada, existe um backup da região em um servidor diferente. No Azure, esses servidores são instâncias de máquinas virtuais da função que hospeda o Cache na Função. Esse comportamento difere do cenário em que não são usadas regiões. Nesse cenário, novos itens no cache distribuído na memória são colocadas em qualquer dos servidores de cache disponíveis.

WarningAviso
Uma região deve existir como uma entidade única em um dos servidores de cache. Portanto, a quantidade de memória de caching disponível em qualquer instância de função individual deve ser maior que a maior região prevista. Em tese, o uso de várias regiões menores tende a otimizar os benefícios das regiões e da marcação, bem como as vantagens do cache distribuído.

O exemplo a seguir mostra como criar uma região chamada Test.

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

O exemplo a seguir mostra como adicionar três objetos à região Test com marcas.

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");

O exemplo a seguir mostra como pesquisar a região Test em busca de objetos que tenham a marca Tag1.

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

Consulte também

Mostrar: