Regiões e marcações (Cache do Windows Azure)
Windows Azure Caching oferece suporte a criação e uso de regiões definidas pelo usuário. Este recurso está disponível para os caches que residem em um Caching baseado em função. Uma região é um subgrupo para os itens em cache. As regiões também oferecem suporte a anotação de itens em cache com cadeias de caracteres descritivas adicionais chamadas de tags. As regiões oferecem suporte a capacidade de realizar operações de pesquisa em qualquer item marcado naquela região.
Observação |
|---|
| As marcações e regiões não são compatíveis com Windows Azure Shared Caching. |
Considerações sobre regiões
As regiões são opcionais; se você deseja usá-las, elas devem ser criadas propositadamente no código com o método CreateRegion. Após uma região ter sido criada, você pode adicionar tags aos objetos que estão inseridos nessa região. Existem sobrecargas nos métodos de Add e Put que aceitam um nome de região. Para pesquisar objetos em uma região com uma determinada tag, use os métodos GetObjectsByTag, GetObjectsByAnyTag e GetObjectsByAllTags.
Graças aos requisitos de arquitetura da funcionalidade de pesquisa, os objetos em uma região são limitados a apenas um servidor de cache. Em uma implantação do Windows Azure, isso significa que toda a região reside em um único servidor. Se a alta disponibilidade estiver habilitada, existirá um backup da região em um servidor diferente. No Windows Azure esses servidores são instâncias de máquina virtual da função que hospeda o Caching. Esse comportamento difere do cenário onde as regiões não são usadas. Neste cenário, os novos itens no cache em memória distribuído são posicionados em qualquer servidor de cache disponível.
Aviso |
|---|
| Uma região deve existir como uma entidade única em um servidor de cache. Sendo assim, a quantidade de memória de Caching disponível em qualquer instância de função deve ser maior que a maior região esperada. Experimente usar múltiplas regiões pequenas para perceber os benefícios das regiões e marcações, assim como as vantagens de cache distribuído. |
Exemplos
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 tags.
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 na região Test por todos os objetos que tenham a tag 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
Data da compilação:
Observação
Aviso