Parâmetros de configuração de cliente de cache para o serviço de cache gerenciado do Azure
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 a Serviço de Cache Gerenciado 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.
Dica
Quando você usa o pacote NuGet para Serviço de Cache Gerenciado, o pacote modifica automaticamente o arquivo de configuração. No entanto, você pode usar este tópico para personalizar ainda mais as configurações de cliente de cache que NuGet insere. Para obter mais informações sobre o pacote Caching NuGet, consulte Configurar um cliente de cache usando o pacote Caching NuGet.
Este tópico abrange as seções a seguir.
<configSections>
<dataCacheClients>
<dataCacheClient>
<Autodiscover>
<localCache>
<clientNotification>
<serializationProperties>
<securityProperties>
<cacheDiagnostics>
- <crashDump>
Exemplo de configuração de cliente de cache
O exemplo a seguir mostra as seções de um arquivo web.config ou app.config relevantes para Serviço de Cache Gerenciado. Neste exemplo, o cliente de cache default
está acessando o cache hospedado em mycache.cache.windows.net
e o cache local está habilitado.
<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">
<!--To use the in-role flavor of Azure Caching,
set identifier to be the cache cluster role name -->
<!--To use the Azure Caching Service,
set identifier to be the endpoint of the cache cluster -->
<autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
<!--Use this section to specify security settings for connecting to your cache.
This section is not required if your cache is hosted on a role that is a part
of your cloud service. -->
<securityProperties mode="Message" sslEnabled="false">
<messageSecurity authorizationInfo="MyAuthorizationKey" />
</securityProperties>
</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. Esta seção configura o diagnóstico específico para Serviço de Cache Gerenciado. |
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 cache de destino.
A tabela a seguir descreve os atributos disponíveis para o elemento autoDiscover .
Atributo | Descrição |
---|---|
Isenabled |
Defina ou |
identifier |
Para Serviço de Cache Gerenciado, é o nome do ponto de extremidade do cache. Para In-Role Cache, é o nome da função na mesma implantação de serviço de nuvem que hospeda In-Role Cache. |
<autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />
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 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 cache. Para obter mais informações, consulte o Cache Local para Serviço de Cache Gerenciado 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 ofertas de cache Standard e Premium oferecem suporte a notificações e os caches nomeados nessas ofertas devem ser configurados para habilitar as notificações. Para obter mais informações, consulte Notificações para Serviço de Cache Gerenciado do Azure.
<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 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 para Serviço de Cache Gerenciado do Azure.
Atributo | Descrição |
---|---|
serializador |
Determina o tipo de serialização para itens em cache. Os valores possíveis são |
securityProperties
A tabela a seguir descreve os atributos disponíveis para o elemento securityProperties .
Atributo | Descrição |
---|---|
mode |
Os valores possíveis incluem |
sslEnabled |
Os valores possíveis são |
O elemento securityProperties tem um elemento filho, messageSecurity. A tabela a seguir descreve os atributos disponíveis para o elemento messageSecurity .
Atributo | Descrição |
---|---|
authorizationInfo |
A chave de acesso do cache, que pode ser obtida no painel de controle de cache no . Se não for configurada corretamente, o cliente de cache não será capaz de estabelecer comunicação com o cache. |
<securityProperties mode="Message" sslEnabled="false">
<messageSecurity authorizationInfo="iz8zOmJ0dJBzzzzxa8JxdGJkb281bzxudGF0az9udGxzdGluZi111z8oZS5Ji28lP38jb250Pm9sLmludDMud2luZG93Pi1pb8Qubmx0L1dSQxB2MP45LiZxd25lPii0eDJJZQA5SlZQQUQ2xzIizk8iazlES1P08X8zOFIxZjdzZxp0i3lFQ2FFPSZodJRzOi8xS8JxdGJEb281bzxudGF0az9uxGxzdGluZi5jiz8oZS5pb8QzL8dpbmRxd3MQaz50Lm5ldA==" />
</securityProperties>
cacheDiagnostics
Esta seção configura algumas das configurações de diagnóstico para Serviço de Cache Gerenciado.
Aviso
Na versão Serviço de Cache Gerenciado, o cacheDiagnostics e as seções relacionadas descritas neste tópico se aplicam somente a clientes de cache de serviço de nuvem baseados em função. Se o seu cliente de cache não for um serviço de nuvem, estas seções não serão adicionados pelo pacote NuGet de cache. Para obter mais informações, consulte Sobre ClientDiagnosticLevel para Serviço de Cache Gerenciado do Azure.
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. Serviço de Cache Gerenciado despejos de falhas são projetados principalmente para diagnosticar problemas com computadores 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 |
O limite máximo de tamanho do despejo 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" />