Gerenciando caches

Depois que o cluster de cache do Microsoft AppFabric 1.1 para Windows Server estiver sendo executado, o foco se deslocará para o gerenciamento de caches individuais no cluster de cache. Esta seção fornece exemplos de como usar comandos do Windows PowerShell para executar funções comuns de gerenciamento de cache. Para obter uma lista completa de comandos de gerenciamento de cache, consulte Usando o Windows PowerShell com cache do AppFabric.

Criar um novo cache

O exemplo a seguir usa o comando New-Cache para criar um novo cache denominado Cache1. Os valores padrão são usados para todas as definições de configuração de cache.

New-Cache Cache1

O exemplo a seguir cria um novo cache denominado Cache2. Este exemplo define o parâmetro Secondaries como 1, que habilita o recurso Alta Disponibilidade para esse cache. Observe que isso exige que todos os hosts de cache estejam executando as edições Enterprise ou DataCenter do Windows Server. Este exemplo também habilita notificações definindo o parâmetro NotificationsEnabled como "true". Para obter mais informações sobre esses recursos de Cache do AppFabric, consulte Conceitos de cache.

New-Cache Cache2 -Secondaries 1 -NotificationsEnabled "true"

Observe que os nomes de cache geralmente fazem distinção entre maiúsculas e minúsculas. A exceção para esta regra é quando seu repositório de configuração de cache usa o SQL Server com um banco de dados que usa um agrupamento sem distinção de maiúsculas e minúsculas.

Há um limite de 128 caches nomeados. Se você necessitar de mais de 128 caches, os aplicativos clientes poderão considerar o uso de regiões. Um aplicativo cliente pode criar uma região com o método CreateRegion da classe DataCache. Você pode ter várias regiões em um único cache, e as chaves do cache que têm os mesmos nomes em diferentes regiões ainda são exclusivas. Isso afeta o design do aplicativo. Portanto, é importante comunicar esse limite de cache com as equipes de desenvolvimento.

Listar caches e regiões

O comando Get-Cache lista todos os caches do cluster de cache e suas regiões.

Get-Cache

Em um cluster de cache ativo, as regiões padrão são criadas pelo AppFabric. À medida que o cache aumenta, o número dessas regiões padrão aumenta. Os aplicativos também podem criar suas próprias regiões. Se você estiver interessado apenas em exibir os nomes de cache sem as informações da região, poderá definir o parâmetro MaxRegions como 0. O exemplo a seguir demonstra esta técnica.

Get-Cache -MaxRegions 0

Você também pode exibir as informações do cache sobre um host de cache específico. Embora um único cache possa ser distribuído em vários hosts, as regiões contidas nesse cache podem diferir entre os hosts. O comando a seguir mostra todas as informações de cache para um host de cache denominado CacheServer1 com uma porta de cache 22233. Este exemplo limita o valor de MaxRegionsPerCache a 10.

Get-Cache -HostName CacheServer1 -CachePort 22233 -MaxRegionsPerCache 10

Embora Get-Cache exiba informações da região, você também pode exibir informações da região com o comando Get-CacheRegion. O comando a seguir exibe 10 regiões por host de cache no cluster.

Get-CacheRegion -MaxRegionsPerHost 10

Remover um cache

O comando Remove-Cache remove um cache do cluster de cache.

Remove-Cache Cache1

Exibir as definições de configuração do cache

Para exibir as configurações atuais de um cache, use o comando Get-CacheConfig.

Get-CacheConfig Cache1

No exemplo anterior, o comando Get-CacheConfig exibe as definições de configuração de cache para Cache1. Aqui está um exemplo da saída desse comando.

CacheName            : Cache1
TimeToLive           : 10 mins
CacheType            : Partitioned
Secondaries          : 0
IsExpirable          : True
EvictionType         : LRU
NotificationsEnabled : False

A tabela a seguir fornece mais informações sobre cada uma dessas configurações.

Configuração Descrição

CacheName

O nome do cache.

TimeToLive

O tempo que os itens residem no cache antes da expiração.

CacheType

O tipo de cache. É sempre Partitioned.

Secondaries

O valor 1 indica que o cache usa o recurso de alta disponibilidade.

IsExpirable

Indica se os objetos contidos no cache podem expirar.

EvictionType

Especifica um tipo de remoção Least-Recently-Used (LRU) ou None.

NotificationsEnabled

Indica se as notificações estão habilitadas para esse cache.

Para obter mais informações sobre esses recursos de cache, consulte Expiração e remoção, Alta disponibilidade e Notificações de cache.

Alterar as definições de configuração do cache

Às vezes, você pode desejar alterar as definições de configuração para um cache existente. Há dois processos disponíveis:

  • Remova o cache com o comando Remove-Cache e recrie o cache com as configurações necessárias com o comando New-Cache.

  • Use o comando Set-CacheConfig.

No exemplo anterior, um desenvolvedor decide usar notificações para o cache Cache1. Embora seus códigos sejam alterados para usar notificações, o aplicativo falhará se as notificações não forem habilitadas para o cache Cache1. Você pode decidir remover e recriar o cache com a configuração desejada.

Remove-Cache Cache1

O exemplo anterior remove Cache1. Você deve aguardar vários minutos enquanto o cache está sendo excluído antes de recriá-lo. Se você tentar recriar o cache imediatamente, será exibida uma mensagem informando que a exclusão do cache está em andamento. Após esse atraso, você poderá recriar o cache, especificando que as notificações estão habilitadas.

New-Cache Cache1 -NotificationsEnabled True

Ao usar esse método, você deve verificar com atenção as definições de configuração com o comando Get-CacheConfig. Você também precisará especiifcar as configurações não padrão para o cache selecionado, além da configuração que deseja alterar.

Você também pode usar o comando Set-CacheConfig. O benefício desse comando é que ele preserva as outras configurações e altera apenas a configuração especificada. Esse comando exige que você pare o cluster de cache.

Stop-CacheCluster 
Set-CacheConfig Cache1 -NotificationsEnabled True 
Start-CacheCluster

Com essas duas técnicas, todos os dados do cache serão removidos e o cache ficará indisponível por um curto período. Consequentemente, essas alterações são mais adequadas durante uma janela de manutenção. Se possível, os aplicativos deverão ser projetados para executar quando o cache ficar inativo por curtos períodos. Além disso, observe que para algumas alterações, como NotificationsEnabled, os aplicativos clientes não refletem as alterações de configuração automaticamente. Em vez disso, esses aplicativos devem criar um novo DataCacheFactory e chamar GetCache no cache para refletir as alterações na configuração do cache. Uma maneira simples de fazer isso é reiniciar os aplicativos clientes.

Consulte também

Conceitos

Tarefas comuns de gerenciamento de cluster de cache (Cache do Windows Server AppFabric)

  2012-03-05