VENDAS: 1-800-867-1389

Parâmetros de configuração de função para cache na função (ServiceConfiguration.cscfg)

Atualizado: setembro de 2014

noteObservação
Para orientação sobre como escolher a oferta Azure Cache para seu aplicativo, consulte Qual oferta de cache do Azure é ideal para mim?.

Este tópico descreve as configurações do Cache do Microsoft Azure disponíveis no arquivo ServiceConfiguration.cscfg. Esses parâmetros especificam a configuração do caching na função de destino. A caixa de diálogo de propriedades da função no Visual Studio configura automaticamente esses parâmetros quando você habilita o caching. 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 queiram fazer uso do caching.

O exemplo a seguir mostra um arquivo ServiceConfiguration.cscfg básico com o caching 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="http://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="{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&quot;expiration&quot;:{&quot;defaultTTL&quot;:20,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:true}},&quot;secondaries&quot;: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>

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 &quot;. O valor NamedCaches a seguir foi obtido do arquivo ServiceConfiguration.cscfg completo mostrado anteriormente.

{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&quot;expiration&quot;:{&quot;defaultTTL&quot;:20,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:true}},&quot;secondaries&quot;:1}]}

O exemplo a seguir mostra a mesma configuração do exemplo anterior, mas a saída é formatada e os símbolos &quot; 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 com um campo 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.

policy

Uma política para parâmetros de remoção, expiração e notificação.

secondaries

Define o número de cópias de backup a serem mantidas para proporcionar alta disponibilidade. Atualmente, esse valor deve ser 0 ou 1. Um valor 0 desabilita a alta disponibilidade.

O campo policy consiste nas seguintes propriedades.

 

Campo Policy Descrição

eviction

Contém um único campo, type, que especifica o tipo de remoção. Os valores possíveis são 0 (LRU) e -1 (Nenhum). Um valor 0 habilita a remoção dos itens menos utilizados recentemente. Um valor -1 desabilita a remoção.

expiration

Contém três campos que descrevem a política de expiração.

  1. defaultTTL: Número de minutos de permanência dos itens no cache antes da expiração.

  2. isExpirable: Um valor true habilita a expiração e um valor false desabilita a expiração.

  3. type: Tipo de expiração. Um valor 0 desabilita a expiração. Um valor 1 especifica expiração absoluta. Um valor 2 especifica expiração deslizante. Com a expiração deslizante, cada acesso ao item no cache redefine o tempo de expiração.

ImportantImportante
Se type for definido como 0 (desabilitado), isExpirable deverá ser definido como fasle e defaultTTL deverá ser definido como 0.

serverNotification

Contém um único campo, isEnabled, que especifica se as notificações estão habilitadas para esse cache.

Especifica o nível inicial de coleta de diagnóstico para o caching. 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" />

Especifica o nível inicial de coleta de diagnóstico para o caching. Essa configuração é específica das informações de diagnóstico sobre funções que hospedam o caching.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />

A porcentagem de memória disponível a ser usada para o caching. 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="" />

A conta de armazenamento do a ser usada para o caching. 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" />

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2015 Microsoft