Impostazioni di configurazione del client di Cache nel ruolo (Web.config)
Importante
Microsoft consiglia tutti i nuovi sviluppi che usano Cache Redis di Azure. Per la documentazione e le indicazioni correnti sulla scelta di un'offerta di Cache di Azure, vedere Quale offerta di Cache di Azure è adatta per l'utente?
Questo argomento descrive i requisiti per supportare In-Role Cache in un web.config di .NET Framework o app.config file di configurazione. Illustra inoltre le opzioni di configurazione disponibili per i client della cache. Le impostazioni descritte in questo argomento sono necessarie solo dai client della cache; non sono necessari per i ruoli che ospitano In-Role Cache.
Suggerimento
Quando si usa il pacchetto NuGet per In-Role Cache, il pacchetto modifica automaticamente il file di configurazione. È tuttavia possibile usare questo argomento per configurare i client cache In-Role senza l'uso di NutGet. È inoltre possibile fare riferimento a queste informazioni per personalizzare ulteriormente le impostazioni del client della cache inserite automaticamente da NuGet.
Questo argomento descrive le seguenti sezioni.
<configSections>
<dataCacheClients>
<dataCacheClient>
<Autodiscover>
<localCache>
<clientNotification>
<serializationProperties>
<cacheDiagnostics>
- <crashDump>
Esempio di configurazione del client della cache
Nell'esempio seguente vengono illustrate le sezioni di un file web.config o app.config rilevanti per In-Role Cache. In questo esempio il client della cache default
accede alle cache ospitate dal ruolo CacheWorkerRole1
e la cache locale è abilitata.
<?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
I due elementi di sezione denominati seguenti devono essere aggiunti all'elenco delle sezioni nell'elemento configSections .
Nome | Descrizione |
---|---|
dataCacheClients |
Definisce l'elemento dataCacheClients del file di configurazione. Questa sezione specifica le impostazioni per tutte le configurazioni del client della cache. |
cacheDiagnostics |
Definisce l'elemento cacheDiagnostics del file di configurazione. |
Il seguente esempio illustra come definire queste sezioni.
<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
Ogni elemento dataCacheClients contiene uno o più elementi dataCacheClient denominati. L'elemento dataCacheClients non ha attributi. La presenza di più sezioni di configurazione del client della cache consente alle applicazioni di usare diverse impostazioni con tipi diversi di dati memorizzati nella cache.
dataCacheClient
Ogni elemento dataCacheClients contiene uno o più elementi dataCacheClient denominati. Il codice applicazione carica le impostazioni per un client della cache facendo riferimento al nome della sezione dataCacheClient associata.
L'elemento dataCacheClients non ha attributi. Tuttavia, gli elementi dataCacheClient figlio hanno diversi attributi disponibili. descritti nella seguente tabella.
Attributo | Descrizione |
---|---|
Nome |
Nome della configurazione del client della cache. |
isCompressionEnabled |
Abilita o disabilita la compressione. I valori possibili includono |
useConnectionPool |
Abilita o disabilita il pool di connessioni. I possibili valori includono |
maxConnectionsToServer |
Quando si usaConnectionPool è impostato su |
Le sezioni seguenti descrivono gli elementi figlio disponibili all'interno di ogni elemento dataCacheClient .
autoDiscover
L'elemento autoDiscover aiuta i client della cache a connettersi automaticamente a un cluster della cache di destinazione. È necessario che questo cluster di cache sia ospitato da un ruolo che fa parte della stessa distribuzione del servizio cloud.
Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento autoDiscover .
Attributo | Descrizione |
---|---|
Isenabled |
Impostare su |
identifier |
Nome del ruolo nella stessa distribuzione del servizio cloud che ospita In-Role Cache. |
<autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
localCache
L'elemento localCache controlla l'uso della cache locale. Per impostazione predefinita, la cache locale non è abilitata. Se è abilitata, gli elementi recuperati dal cluster di cache vengono archiviati localmente nella memoria del computer client. Questo consente di migliorare le prestazioni delle successive richieste get, ma è possibile che si verifichi un'incoerenza tra i dati della versione memorizzata nella cache locale e quelli dell'elemento effettivo nel cluster di cache. Per altre informazioni, vedere Cache locale in Cache In-Role di Azure.
Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento localCache .
Attributo | Descrizione |
---|---|
Isenabled |
Impostare l'attributo su |
Sincronizzazione |
Determina la modalità di invalidamento della cache locale. I valori possibili sono |
objectCount |
Numero massimo di oggetti che si possono archiviare nella cache locale. Il valore predefinito è 10000. |
ttlValue |
Numero di secondi di permanenza degli oggetti nella cache locale. Il valore predefinito è 300 secondi. |
Nota
Le notifiche sono una funzionalità di cache In-Role supportata solo nelle cache ospitate nei ruoli di Azure. Per abilitare le notifiche, è necessario configurare queste cache.
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
clientNotification
Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento clientNotification . Questo elemento è responsabile del controllo del comportamento delle notifiche per il client della cache.
Attributo | Descrizione |
---|---|
pollInterval |
Numero di secondi tra i tentativi di polling. Il polling viene usato per la verifica delle notifiche nel cluster di cache. Il valore predefinito è |
maxQueueLength |
Numero massimo di notifiche in coda per questo client della cache tra i tentativi di polling. Il valore predefinito è |
<clientNotification pollInterval="60" maxQueueLength="10000"/>
serializationProperties
Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento serializationProperties . Questo elemento consente di scegliere tra una serializzazione predefinita o personalizzata per gli elementi memorizzati nella cache. Per altre informazioni, vedere Serializzazione in Cache In-Role di Azure.
Attributo | Descrizione |
---|---|
serializer |
Determina il tipo di serializzazione per gli elementi memorizzati nella cache. I valori possibili sono |
cacheDiagnostics
Questa sezione configura alcune impostazioni di diagnostica per In-Role Cache. Per altre informazioni sulla diagnostica, vedere Risoluzione dei problemi e diagnostica della cache di Azure In-Role.
Le sezioni seguenti descrivono gli elementi figlio disponibili all'interno di ogni elemento cacheDiagnostics .
crashDump
L'elemento crashDump controlla il tipo di dump di arresto anomalo raccolti per questa applicazione. In-Role i dump di arresto anomalo della cache sono progettati principalmente per diagnosticare i problemi relativi ai computer del cluster della cache. Per questo motivo, è necessario che i file di configurazione del client disabilitino la generazione di dump di arresto anomalo del sistema. A tale scopo, impostare l'attributo dumpLevel su Off
.
Se i dump di arresto anomalo del sistema sono abilitati, l'archivio locale della memorizzazione nella cache e l'archivio della diagnostica devono essere impostati nel file ServiceDefinition.csdef in modo che la dimensione sia sempre maggiore della somma della quota di archiviazione relativa all'arresto anomalo del sistema e di quella relativa ai log. È possibile configurare questi valori nel file CacheSettings.xml (i valori predefiniti sono 1000 MB).
Nella tabella seguente vengono descritti gli attributi disponibili per l'elemento crashDump .
Attributo | Descrizione |
---|---|
dumpLevel |
Tra i possibili valori sono compresi |
dumpStorageQuotaInMB |
Quantità massima di spazio di archiviazione da allocare per i dump di arresto anomalo del sistema. |
scheduledTransferPeriodInMinutes |
Numero di minuti tra i trasferimenti dei dump di arresto anomalo del sistema all'archivio di diagnostica. |
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />