Condividi tramite


Cache locale per il Servizio cache gestita di Azure

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?

Cache locale è una funzionalità di Microsoft Azure Cache che migliora le prestazioni riducendo le richieste di rete al servizio cache. memorizzazione nella cache archivia gli oggetti in formato serializzato in una cache distribuita in memoria. Quando un'applicazione richiede un oggetto dalla cache, l'oggetto serializzato viene inviato all'applicazione che effettua la richiesta attraverso la rete. L'applicazione quindi deserializza l'oggetto per usarlo. Per accelerare il processo di recupero di un oggetto, abilitare la cache locale.

Informazioni generali sulla cache locale

Quando la cache locale è abilitata, il client della cache archivia un riferimento all'oggetto a livello locale. Questo riferimento locale mantiene l'oggetto attivo nella memoria dell'applicazione client. Quando l'applicazione richiede l'oggetto, il client della cache controlla se l'oggetto risiede nella cache locale. In questo caso, il riferimento all'oggetto viene restituito immediatamente senza contattare il servizio cache. Se non esiste, l'oggetto viene recuperato dal servizio cache. Il client della cache deserializza quindi l'oggetto e archivia nella cache locale il riferimento a questo oggetto appena recuperato. L'applicazione client usa questo stesso oggetto.

La durata di un oggetto nella cache locale dipende dal numero massimo di oggetti nella cache locale e dal criterio di invalidamento. Esistono due tipi di invalidazione per la cache locale: invalidazione basata sul timeout e invalidazione basata su notifica. Per altre informazioni, vedere Scadenza e rimozione per Azure Servizio cache gestita.

Impostazioni di configurazione

La cache locale può essere abilitata e configurata usando il file web.config o il file di configurazione dell'applicazione. È possibile aggiungere un elemento localCache alla sezione dataCacheClient. Nella tabella seguente sono elencati gli attributi dell'elemento localCache .

Attributo Descrizione

Isenabled

Impostare l'attributo su true o false per abilitare o disabilitare la cache locale.

Sincronizzazione

Determina la modalità di invalidamento della cache locale. I valori possibili sono TimeoutBased e NotificationBased.

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.

Un valore di sincronizzazione di TimeoutBased mantiene memorizzati nella cache gli oggetti in locale fino al raggiungimento del limite ttlValue . Il valore NotificationBased usa le notifiche insieme al meccanismo basato sul timeout. Per usare le notifiche per l'invalidazione, le notifiche devono prima essere abilitate per la cache seguendo la procedura descritta in Abilitazione delle notifiche della cache. L'intervallo di polling per le notifiche verifica se gli elementi nella cache locale sono cambiati. Un intervallo di polling efficace per le notifiche deve essere più breve dell'impostazione ttlValue da rendere efficace. Un elemento di aggiunta, clientNotification, può essere usato per configurare l'intervallo di polling per le notifiche impostando l'attributo pollInterval sul numero di secondo. Il valore predefinito è 300 secondi.

Nota

Le notifiche sono disponibili nelle offerte di Cache Standard e Premium, ma non nell'offerta di Cache Basic. Per altre informazioni, vedere Offerte di cache per Azure Servizio cache gestita.

Esempio

Nell'esempio seguente viene illustrata una sezione dataCacheClient che usa la cache locale con scadenza locale basata sul timeout di cinque minuti (300 secondi).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>

Nell'esempio seguente viene illustrata la sezione dataCacheClient precedente modificata per l'uso delle notifiche per fornire una sincronizzazione aggiuntiva eseguendo il polling ogni minuto (60 secondi).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
  <clientNotification pollInterval="60" />
</dataCacheClient>

Per scaricare un esempio che usa la cache locale, vedere l'API cache e l'esempio di prestazioni.

Vedere anche

Risorse aggiuntive

Funzionalità del Servizio cache gestito di Azure