Parâmetros de configuração de cliente de cache na função (Web.config)
Importante
A Microsoft recomenda que todos os novos desenvolvimentos usem o Cache Redis do Azure. Para obter documentação e diretrizes atuais sobre como escolher uma oferta do Cache do Azure, confira qual oferta do Cache do Azure é certa para mim?
Este tópico descreve os requisitos para dar suporte ao Cache In-Role em um arquivo de configuração .NET Framework web.config ou app.config. São descritas também as opções de configuração disponíveis para clientes de cache. As configurações descritas neste tópico são exigidas somente por clientes de cache; elas não são necessárias para funções que hospedam In-Role Cache.
Dica
Quando você usa o pacote NuGet para In-Role Cache, o pacote modifica automaticamente o arquivo de configuração. No entanto, você pode usar este tópico para configurar clientes do Cache In-Role sem o uso do NutGet. Estas informações também podem ser usadas para personalização adicional das configurações de cliente de cache inseridas pelo NuGet.
Este tópico abrange as seções a seguir.
<configSections>
<dataCacheClients>
<dataCacheClient>
<Autodiscover>
<localCache>
<clientNotification>
<serializationProperties>
<cacheDiagnostics>
- <crashDump>
Exemplo de configuração de cliente de cache
O exemplo a seguir mostra as seções de um arquivo de web.config ou app.config relevantes para In-Role Cache. Nesse exemplo, o cliente de cache do default
está acessando os caches hospedados pela função CacheWorkerRole1
e o cache local está habilitado.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
<section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" />
</configSections>
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>
</dataCacheClients>
<cacheDiagnostics>
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
</cacheDiagnostics>
</configuration>
configSections
Os dois elementos de seção nomeados a seguir devem ser adicionados à lista de seções no elemento configSections .
Nome | Descrição |
---|---|
dataCacheClients |
Define o elemento dataCacheClients do arquivo de configuração. Essa seção especifica os parâmetros de todas as configurações de cliente de cache. |
cacheDiagnostics |
Define o elemento cacheDiagnostics do arquivo de configuração. |
O exemplo a seguir mostra como definir essas seções.
<section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
<section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" />
dataCacheClients
Cada elemento dataCacheClients contém um ou mais elementos dataCacheClient nomeados. O elemento dataCacheClients não tem nenhum atributo. A capacidade de ter várias seções de configuração de cliente de cache permite que os aplicativos usem diferentes configurações com diferentes tipos de dados em cache.
dataCacheClient
Cada elemento dataCacheClients contém um ou mais elementos dataCacheClient nomeados. O código do aplicativo carrega as configurações de um cliente de cache fazendo referência ao nome da seção dataCacheClient associada.
O elemento dataCacheClients não tem nenhum atributo. Mas os elementos dataCacheClient filho têm vários atributos disponíveis. Esses atributos são descritos na tabela a seguir.
Atributo | Descrição |
---|---|
Nome |
O nome da configuração de cliente de cache. |
isCompressionEnabled |
Habilita ou desabilita a compactação. Os valores possíveis incluem |
useConnectionPool |
Habilita ou desabilita o pool de conexões. Os valores possíveis incluem |
maxConnectionsToServer |
Quando useConnectionPool é definido como |
As seções a seguir descrevem os elementos filho disponíveis em cada elemento dataCacheClient .
autoDiscover
O elemento AutoDiscover ajuda os clientes de cache a se conectarem automaticamente a um cluster de cache de destino. Este cluster de cache deve ser hospedado por uma função na mesma implantação do serviço de nuvem.
A tabela a seguir descreve os atributos disponíveis para o elemento autoDiscover .
Atributo | Descrição |
---|---|
Isenabled |
Defina ou |
identifier |
O nome da função na mesma implantação de serviço de nuvem que hospeda In-Role Cache. |
<autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
localCache
O elemento localCache controla o uso do cache local. Por padrão, o cache local não está habilitado. Quando é habilitado, os itens recuperados do cluster de cache são armazenadas localmente na memória da máquina cliente. Isso melhora o desempenho de solicitações Get subsequentes, mas pode resultar em inconsistência de dados entre a versão armazenada no cache local e o item real no cluster de cache. Para obter mais informações, consulte Cache Local no Cache In-Role do Azure.
A tabela a seguir descreve os atributos disponíveis para o elemento localCache .
Atributo | Descrição |
---|---|
Isenabled |
Defina como |
Sincronização |
Determina como o cache local é invalidado. Os valores possíveis são |
objectCount |
O número máximo de objetos a serem armazenados no cache local. O padrão é 10000. |
ttlValue |
O número de segundos de permanência dos objetos no cache local. O padrão é 300 segundos. |
Observação
As notificações são um recurso de Cache In-Role com suporte apenas em caches hospedados em funções do Azure. Esses caches devem ser configurados para habilitar as notificações.
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
clientNotification
A tabela a seguir descreve os atributos disponíveis para o elemento clientNotification . Esse elemento é responsável por controlar o comportamento de notificação para o cliente de cache.
Atributo | Descrição |
---|---|
Pollinterval |
O número de segundos entre tentativas de consulta. A consulta é usada para verificar se há notificações no cluster de cache. O padrão é |
maxQueueLength |
O número máximo de notificações em fila para esse cliente de cache entre tentativas de consulta. O padrão é |
<clientNotification pollInterval="60" maxQueueLength="10000"/>
serializationProperties
A tabela a seguir descreve os atributos disponíveis para o elemento serializationProperties . Esse elemento oferece suporte à escolha entre serialização interna ou personalizada para itens em cache. Para obter mais informações, consulte Serialização no Cache de In-Role do Azure.
Atributo | Descrição |
---|---|
serializador |
Determina o tipo de serialização para itens em cache. Os valores possíveis são |
cacheDiagnostics
Esta seção configura algumas das configurações de diagnóstico para o Cache In-Role. Para obter mais informações sobre diagnóstico, consulte solução de problemas e diagnóstico do Cache do Azure In-Role.
As seções a seguir descrevem os elementos filho disponíveis em cada elemento cacheDiagnostics .
crashDump
O elemento crashDump controla o tipo de despejos de falha coletados para este aplicativo. In-Role despejos de falha do Cache são projetados principalmente para diagnosticar problemas com computadores de cluster de cache. Por esse motivo, os arquivos de configuração de cliente devem desativar a geração de despejos de memória. Isso pode ser feito definindo o atributo dumpLevel como Off
.
Quando os despejos de memória são habilitados, o armazenamento local de cache e o armazenamento de diagnóstico devem ser ajustados em ServiceDefinition.csdef de modo que o tamanho sempre seja maior que a soma da cota de armazenamento de despejo de memória e a cota de armazenamento de log configurada em CacheSettings.xml (o padrão é 1000 MB).
A tabela a seguir descreve os atributos disponíveis para o elemento crashDump .
Atributo | Descrição |
---|---|
dumpLevel |
Os valores possíveis incluem |
dumpStorageQuotaInMB |
A quantidade máxima de armazenamento para alocar para despejos de memória. |
scheduledTransferPeriodInMinutes |
O número de minutos entre transferências de despejos de memória para o armazenamento de diagnóstico. |
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />