Esporta (0) Stampa
Espandi tutto

Informazioni su Cache nel ruolo per Cache di Azure

Aggiornamento: luglio 2010

noteNota
Per indicazioni sulla scelta dell'offerta di Cache di Azure più adatta alla propria applicazione, vedere Qual è l'offerta di Cache di Azure più adatta alle mie esigenze?.

Cache nel ruolo supporta l'hosting dei servizi di memorizzazione nella cache nei ruoli di . In questo modello, la cache fa parte del servizio cloud, all'interno del quale è selezionato un ruolo per l'hosting di Cache nel ruolo. Le istanze in esecuzione di questo ruolo vengono aggiunte alle risorse di memoria in modo da formare un cluster di cache Questo cluster di cache privato è disponibile solo per i ruoli all'interno della stessa distribuzione. Per Cache nel ruolo esistono due topologie di distribuzione principali: quella basata su risorse condivise e quella basata su ruolo dedicato. I ruoli con risorse condivise ospitano anche altri servizi e codice dell'applicazione che non usano la memorizzazione nella cache. I ruoli dedicati sono ruoli di lavoro usati solo per memorizzazione nella cache. I seguenti argomenti forniscono informazioni dettagliate su tali topologie di memorizzazione nella cache.

Per una procedura completa relativa a Cache nel ruolo basato su ruoli, vedere l'argomento sull'uso di Caching di Azure. Per ottenere esempi scaricabili, vedere Esempi di Cache nel ruolo (Cache di Azure).

Questa sezione fornisce una panoramica di tre concetti principali relativi a Cache nel ruolo basato su ruoli.

  1. Cluster di cache

  2. Cache denominate

  3. Client della cache

I ruoli di Servizi possiedono una o più istanze. Ciascuna istanza rappresenta una macchina virtuale configurata per ospitare il ruolo specificato. Quando un ruolo in cui Cache nel ruolo è abilitato viene eseguito su più istanze, si forma un cluster di cache. Un cluster di cache costituisce un servizio di memorizzazione nella cache distribuito che usa la memoria combinata di tutti i computer presenti nel cluster. Le applicazioni possono aggiungere e recuperare elementi dal cluster di cache senza dover conoscere il computer in cui tali elementi sono memorizzati. Se è abilitata la funzionalità di disponibilità elevata, una copia di backup dell'elemento viene automaticamente memorizzata in un'altra istanza della macchina virtuale.

noteNota
Per ciascun servizio cloud è supportato un unico cluster di cache. È possibile impostare più cluster di cache in un servizio cloud specificando account di archiviazione distinti per ogni ruolo. Questa configurazione non è tuttavia supportata.

Quando si abilita Cache nel ruolo su un ruolo di , è necessario specificare la quantità di memoria che è possibile usare per la memorizzazione nella cache. In uno scenario basato su risorse condivise è necessario scegliere una percentuale di memoria disponibile nelle macchine virtuali che ospitano il ruolo. In uno scenario basato su ruolo dedicato tutta la memoria disponibile nelle macchine virtuali viene usata per la memorizzazione nella cache. La memoria disponibile è tuttavia sempre inferiore rispetto alla memoria fisica totale della macchina virtuale a causa dei requisiti di memoria del sistema operativo.

La quantità totale di memoria del servizio di memorizzazione nella cache è quindi costituita dalla memoria del ruolo riservata a memorizzazione nella cache moltiplicata per il numero di ruoli. È possibile incrementare o ridurre in modo efficiente la memoria totale di memorizzazione nella cache aumentando o riducendo il numero di istanze in esecuzione per tale ruolo.

WarningAvviso
Quando si riduce il numero di istanze in esecuzione del ruolo che ospita Cache nel ruolo, si consiglia di non rimuoverne più di tre alla volta. Una volta completata la modifica, è possibile rimuovere fino a tre istanze in esecuzione aggiuntive; ripetere l'operazione fino a raggiungere il numero di istanze in esecuzione richiesto. La rimozione contemporanea di più di tre istanze causa l'instabilità del cluster di cache.

Ciascun cluster di cache conserva le informazioni condivise sullo stato di runtime del cluster nella risorsa di archiviazione di . Durante le attività di sviluppo è possibile usare l'emulatore di archiviazione di . Per i ruoli distribuiti è necessario specificare un account di archiviazione di valido. In Visual Studio è possibile specificare l'account di archiviazione appropriato nella scheda Caching delle proprietà del ruolo.

In ciascun cluster di cache è presente almeno una cache denominata default. Usando Cache nel ruolo basato su ruoli è inoltre possibile aggiungere altre cache denominate. Per ciascuna cache è possibile modificare diverse impostazioni. La seguente schermata visualizza la sezione Impostazioni cache denominata della scheda Caching nelle impostazioni dei ruoli di Visual Studio.

Proprietà di memorizzazione nella cache per cache denominate

In Visual Studio fare clic sul pulsante Aggiungi cache denominata per aggiungere altre cache denominate. Nell'esempio precedente sono state aggiunte due cache denominate, NamedCache1 e NamedCache2. Per ciascuna cache sono definite impostazioni diverse. È possibile modificare le impostazioni selezionando e modificando i campi specifici all'interno della tabella.

Le cache denominate offrono flessibilità in fase di progettazione delle applicazioni, poiché per ciascuna di esse sono definite proprietà specifiche. Una cache può ad esempio abilitare Disponibilità elevata per sfruttare i vantaggi della disponibilità elevata. Altre cache potrebbero non richiedere questa impostazione, mentre la disponibilità elevata richiede il doppio della memoria per ciascun elemento memorizzato nella cache. Per un impiego ottimale delle risorse è consigliabile usare la disponibilità elevata solo nelle cache che la richiedono. In altri scenari simili a quelli descritti possono essere usate più cache con proprietà diverse in grado di soddisfare i requisiti delle applicazioni.

Un client della cache costituisce un codice dell'applicazione in grado di memorizzare e recuperare gli elementi dal cluster di cache. Con Cache nel ruolo basato su ruoli, i client della cache devono far parte dello stesso ruolo di memorizzazione nella cache oppure devono essere incorporati in altri ruoli all'interno della distribuzione. I client della cache possono essere configurati usando i file di configurazione dell'applicazione o i file di configurazione Web. Per altre informazioni, vedere Procedura: Preparare Visual Studio per l'uso di Cache nel ruolo (Cache di Azure). Il seguente esempio mostra l'elemento dataCacheClient in un file di configurazione.

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="CachingRole1" />
    <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
  </dataCacheClient>
</dataCacheClients>

Nell'esempio precedente, per l'elemento autoDiscover è definito un attributo identifier impostato su CachingRole1. Questo identificatore specifica che per CachingRole1 è abilitato Cache nel ruolo e fornisce il percorso del server di cache. Il client della cache usa automaticamente CachingRole1 in tutte le operazioni di memorizzazione nella cache.

Una volta configurato il client della cache, questo può accedere a qualsiasi cache in base al nome. Il seguente esempio esegue l'accesso alla cache NamedCache1 e aggiunge a questa un elemento.

DataCache cache = new DataCache("NamedCache1", "default");
cache.Put("testkey", "testobject");

Il costruttore DataCache accetta due parametri: il nome della cache e il nome della sezione dataCacheClient. Per altre informazioni sul nome della cache, vedere la sezione precedente su Cache denominate.

Vedere anche

Concetti

Cache

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft