Parâmetros de configuração de função para cache na função (ServiceConfiguration.cscfg)
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 de Cache do Azure, confira qual oferta do Cache do Azure é ideal para mim?
Este tópico descreve as configurações de cache de Microsoft Azure disponíveis no arquivo ServiceConfiguration.cscfg. Essas configurações especificam a configuração de cache na função de destino. A caixa de diálogo propriedades de função em Visual Studio define automaticamente essas configurações quando você habilita o cache. As informações de referência neste tópico são mais úteis para implantações de serviço de nuvem não Visual Studio que desejam aproveitar o cache.
ServiceConfiguration.cscfg
O exemplo a seguir mostra um arquivo ServiceConfiguration.cscfg básico que tem o cache configurado. Este exemplo tem dois caches nomeados, default
e NamedCache1
. Isso pode servir como um exemplo das seções de referência a seguir.
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzure1" xmlns="https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">
<Role name="WebRole1">
<Instances count="2" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0},{"name":"NamedCache1","policy":{"eviction":{"type":-1},"expiration":{"defaultTTL":20,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":true}},"secondaries":1}]}" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>
NamedCaches
A configuração Microsoft.WindowsAzure.Plugins.Caching.NamedCaches especifica todos os caches e seus parâmetros de configuração. Essas informações são organizadas usando sintaxe JSON. As aspas duplas na sintaxe são associadas a caracteres de escape usando a referência de entidade de caracteres "
. O valor NamedCaches a seguir foi obtido do arquivo ServiceConfiguration.cscfg completo mostrado anteriormente.
{"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0},{"name":"NamedCache1","policy":{"eviction":{"type":-1},"expiration":{"defaultTTL":20,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":true}},"secondaries":1}]}
O exemplo a seguir mostra a mesma configuração do exemplo anterior, mas a saída é formatada e os símbolos "
são substituídos por aspas duplas. Isso é mostrado para proporcionar uma melhor compreensão da sintaxe e não deve ser usado no arquivo ServiceConfiguration.cscfg.
{
"caches": [
{
"name": "default",
"policy": {
"eviction": {"type": 0},
"expiration": {"defaultTTL": 10, "isExpirable": true, "type": 1},
"serverNotification": {"isEnabled": false}
},
"secondaries": 0
},
{
"name": "NamedCache1",
"policy": {
"eviction": {"type": -1},
"expiration": {"defaultTTL": 20, "isExpirable": true, "type": 2},
"serverNotification": {"isEnabled": true}
},
"secondaries": 1
}
]
}
Todos os caches nomeados são definidos em um campo de caches de nível superior. Cada cache nomeado é definido pelos três campos a seguir.
Campo Caches | Descrição |
---|---|
name |
Especifica o nome do cache. |
política |
Uma política para parâmetros de remoção, expiração e notificação. |
Secundários |
Define o número de cópias de backup a serem mantidas para proporcionar alta disponibilidade. Atualmente, esse valor deve ser |
O campo de política consiste nas propriedades a seguir.
Campo Policy | Descrição |
---|---|
Despejo |
Contém um único campo, tipo, que especifica o tipo de remoção. Os valores possíveis são |
expiration |
Contém três campos que descrevem a política de expiração.
Importante No tipo está definido como |
serverNotification |
Contém um único campo, isEnabled, que especifica se as notificações estão habilitadas para esse cache. |
ClientDiagnosticLevel
Especifica o nível inicial de coleta de diagnóstico para cache. Essa configuração é específica das informações de diagnóstico para funções que são clientes de um cache. São fornecidas informações de diagnóstico sobre o uso do cache do ponto de vista do cliente. Observe que, na topologia colocalizada, é possível usar ClientDiagnosticLevel e DiagnosticLevel na mesma configuração de função.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
DiagnosticLevel
Especifica o nível inicial de coleta de diagnóstico para cache. Essa configuração é específica para informações de diagnóstico sobre as funções que hospedam o cache.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
CacheSizePercentage
A porcentagem de memória disponível a ser usada para cache. Em topologias colocalizadas, deve ser um número inteiro sem sinal de porcentagem, como 30
.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
Em topologias dedicadas, deve ser uma cadeia de caracteres vazia.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />
ConfigStoreConnectionString
A conta de armazenamento do Azure a ser usada para cache. Esse armazenamento é usado para conter dados de configuração sobre o cluster de cache, que estão acessíveis a todas as máquinas virtuais que compõem o cluster. Observe que o exemplo a seguir usa o armazenamento de desenvolvedor para depuração local. Antes de implantar na nuvem, você deve alterar isso para uma conta de armazenamento real.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />