Questa documentazione è stata archiviata e non viene gestita.

Impostazioni di configurazione dei ruoli in Cache nel ruolo (ServiceConfiguration.cscfg)

Aggiornamento: agosto 2015

ImportantImportante
Si consiglia ai clienti di usare Cache Redis di Azure in tutte le nuove distribuzioni. Per informazioni e istruzioni sulla scelta dell'offerta di Cache di Azure, vedere Qual è l'offerta di Cache di Azure più adatta alle mie esigenze?

Questo argomento descrive le impostazioni di Cache di Microsoft Azure disponibili nel file ServiceConfiguration.cscfg. Queste impostazioni specificano la configurazione di memorizzazione nella cache sul ruolo di destinazione. Quando Visual Studio è abilitato, queste impostazioni vengono configurate automaticamente nella finestra di dialogo delle proprietà del ruolo in memorizzazione nella cache. Le informazioni di riferimento disponibili in questo argomento sono utili soprattutto per le distribuzioni del servizio cloud non create in Visual Studio per le quali si desidera usufruire dei vantaggi offerti da memorizzazione nella cache.

Il seguente esempio illustra un file ServiceConfiguration.cscfg di base in cui è configurato memorizzazione nella cache. In questo esempio sono presenti due cache denominate: default e NamedCache1. Questo può essere usato come esempio delle seguenti sezioni di riferimento.

<?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>

L'impostazione Microsoft.WindowsAzure.Plugins.Caching.NamedCaches specifica tutte le cache e le relative impostazioni di configurazione. Queste informazioni sono organizzate mediante la sintassi JSON. Le virgolette doppie presenti nella sintassi sono sostituite dal riferimento all'entità carattere &quot;. Il seguente valore di NamedCaches proviene dal file ServiceConfiguration.cscfg sopra illustrato.

{&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}]}

Il seguente esempio illustra la stessa impostazione dell'esempio precedente, ma l'output è formattato e i simboli &quot; sono sostituiti dalle virgolette doppie. Questo esempio fornisce una migliore comprensione della sintassi, ma non deve essere usato nel file 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
        }
    ]
}

Tutte le cache denominate sono definite in un campo caches di livello principale. Ogni cache denominata è definita dai tre campi seguenti.

 

Campo cache Descrizione

name

Specifica il nome della cache.

policy

Criteri per la rimozione, la scadenza e le impostazioni di notifica.

secondaries

Definisce il numero di copie di backup necessarie per la disponibilità elevata. Al momento il valore deve essere 0 o 1. Il valore 0 disabilita la disponibilità elevata.

Il campo policy è costituito dalle seguenti proprietà.

 

Campo policy Descrizione

eviction

Contiene un singolo campo, type, che specifica il tipo di rimozione. I valori possibili sono 0 (utilizzati meno di recente) e -1 (nessuno). Il valore 0 abilita la rimozione degli elementi usati meno di recente. Il valore -1 disabilita la rimozione.

expiration

Contiene tre campi che descrivono i criteri di scadenza.

  1. defaultTTL: numero di minuti di permanenza nella cache prima della scadenza degli elementi.

  2. isExpirable: il valore true abilita la scadenza, mentre false la disabilita.

  3. type: tipo di scadenza. Il valore 0 disabilita la scadenza. Il valore 1 specifica la scadenza assoluta. Il valore 2 specifica la scadenza estendibile. Con una scadenza di questo tipo, qualsiasi operazione eseguita sull'elemento nella cache determina la reimpostazione della data di scadenza.

ImportantImportante
Se type è impostato su 0 (disabilitato), isExpirable deve essere impostato su fasle e defaultTTL deve essere impostato su 0.

serverNotification

Contiene un singolo campo, isEnabled, che specifica se le notifiche sono abilitate per la cache corrente.

Specifica il livello iniziale della raccolta dei dati di diagnostica per memorizzazione nella cache. Questa impostazione è specifica delle informazioni di diagnostica per i ruoli client di una cache. Fornisce informazioni di diagnostica relative all'uso della cache dal punto di vista del client. Tenere presente che nella topologia con risorse condivise è possibile usare ClientDiagnosticLevel e DiagnosticLevel nella stessa configurazione di ruolo.

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

Specifica il livello iniziale della raccolta dei dati di diagnostica per memorizzazione nella cache. Questa impostazione è specifica delle informazioni di diagnostica sui ruoli che ospitano memorizzazione nella cache.

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

Percentuale di disponibilità della memoria da usare per memorizzazione nella cache. Per le topologie con risorse condivise, è necessario che il valore sia un numero intero senza il segno di percentuale, ad esempio 30.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />

Per le topologie basate su ruolo dedicato, è necessario che questa stringa rimanga vuota.

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

Account di archiviazione Azure da usare per memorizzazione nella cache. Questo account di archiviazione viene usato per contenere i dati relativi al cluster di cache ed è accessibile da tutte le macchine virtuali che lo compongono. Tenere presente che il seguente esempio usa l'account di archiviazione dello sviluppatore per l'esecuzione del debug locale. Prima di procedere con la distribuzione nel cloud, è necessario impostare un account di archiviazione effettivo.

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />

Mostra: