Sviluppo per il Servizio cache gestito di Azure

Aggiornamento: agosto 2015

ImportantImportante
Microsoft consiglia di usare Cache Redis di Azure per tutte le nuove attività di sviluppo. Per la documentazione aggiornata e le istruzioni per la scelta dell'offerta del Servizio Cache di Azure, vedere Quali offerte della Cache Redis è consigliabile usare?

Il Servizio cache gestita fornisce una serie di API per l'aggiunta, l'aggiornamento e la rimozione di elementi da una cache. L'uso delle classi e dei metodi dello spazio dei nomi Microsoft.ApplicationServer.Caching rappresenta un metodo diretto per interagire con una cache, mentre il ricorso a uno dei provider ASP.NET costituisce un metodo indiretto d'uso di una cache. Gli argomenti di questa sezione trattano l'uso diretto, a livello di codice, del Servizio cache gestita. Per altre informazioni sui provider ASP.NET per il Servizio cache gestita, vedere Provider di cache ASP.NET 4 per il Servizio cache gestita di Azure.

Il modello di programmazione del Servizio cache gestita è progettato per il modello di programmazione cache-aside. Se i dati non sono presenti nella cache, l'applicazione, e non la cache distribuita, deve ricaricare i dati nella cache dall'origine dati originaria.

È possibile progettare il codice dell'applicazione in modo che quest'ultima funzioni indipendentemente dalla cache. L'applicazione può così continuare a funzionare anche se i dati memorizzati nella cache non sono disponibili. Poiché i dati presenti nella cache non sono permanenti in modo durevole, esiste la possibilità che diventino non disponibili. Ad esempio, se una cache viene scalata in un'offerta di cache differente, gli elementi memorizzati nella cache andranno persi. La richiesta di un elemento non presente nella cache viene definita mancato riscontro nella cache.

Quando si usa la disponibilità elevata del Servizio cache gestita, le copie di backup degli elementi memorizzati nella cache garantiscono la protezione dagli errori di computer e processi in una cache. Anche se la disponibilità elevata è abilitata, esiste la possibilità che tutti i dati nella cache vengano persi a causa di un evento di emergenza di entità superiore. Per gli elementi che richiedono il salvataggio permanente, è necessario usare un database o altri sistemi per l'archiviazione permanente. Per altre informazioni, vedere Disponibilità elevata per il Servizio cache gestito di Azure.

Esistono molti altri motivi per cui il codice può incorrere in un mancato riscontro nella cache. Ad esempio, l'elemento della cache potrebbe essere scaduto o essere stato rimosso in base a normali criteri di scadenza e rimozione. A prescindere dal motivo, il codice dell'applicazione deve essere in grado di accedere all'origine dati originaria per ripopolare l'elemento nella cache. Per altre informazioni, vedere Scadenza e rimozione per il Servizio cache gestito di Azure.

Per iniziare a usare memorizzazione nella cache nella propria applicazione, è necessario eseguire alcuni passaggi fondamentali.

  1. Creare una cache.

  2. Configurare i client per l'uso della cache.

  3. Usare l'API del Servizio cache gestita per l'uso della cache.

Le cache in Servizio cache gestita vengono create usando i cmdlet di Powershell e quindi vengono gestite nel Portale di gestione di Azure. Per materiale sussidiario sulla creazione di una cache, vedere Procedura: Creare una cache per il Servizio cache gestita di Azure.

Per usare la cache, è necessario configurare l'applicazione, denominata anche client della cache. Questa operazione include due passaggi:

  1. Fare riferimento agli assembly del Servizio cache gestita nel progetto di Visual Studio.

  2. Usare le impostazioni del file di configurazione o il codice per accedere alla cache.

Servizio cache gestita offre un pacchetto NuGet di memorizzazione nella cache che aggiunge i riferimenti agli assembly e inserisce la configurazione richiesta nel file web.config o app.config del progetto. Dopo aver installato il pacchetto NuGet di Cache, modificare la configurazione appena aggiunta e specificare l'endpoint e la chiave di accesso della cache. Per informazioni aggiuntive dettagliate, vedere Procedura: Configurare un client della cache per il Servizio cache gestita di Azure.

L'ultimo passaggio consente di usare la cache nel codice dell'applicazione. A questo scopo, è possibile eseguire una delle due operazioni seguenti:

Per accedere direttamente alla cache nella coda, usare le classi DataCacheFactoyConfiguration, DataCacheFactory e DataCache nell'API del Servizio cache gestita. Il seguente esempio mostra come aggiungere e recuperare una stringa nella cache default usando le impostazioni dalla sezione default dataCacheClient del file di configurazione dell'applicazione.

// Cache client configured by settings in application configuration file.
DataCacheFactoryConfiguration config = new DataCacheFactoryConfiguration("default");
DataCacheFactory cacheFactory = new DataCacheFactory(config);
DataCache defaultCache = cacheFactory.GetDefaultCache();    

// Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject");
string strObject = (string)defaultCache.Get("testkey");

È inoltre possibile accedere alla cache denominata e alla sezione del file di configurazione tramite gli overload del costruttore DataCache. Il funzionamento del seguente esempio di codice è identico a quello dell'esempio precedente.

// Cache client configured by settings in application configuration file.
DataCache defaultCache = new DataCache("default", "default");

// Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject");
string strObject = (string)defaultCache.Get("testkey");
noteNota
Il precedente esempio non è applicabile per gli overload del metodo RoleEntryPoint. Per altre informazioni, vedere Procedura: Creare un oggetto DataCache nei metodi RoleEntryPoint per il Servizio cache gestito di Azure.

Informazioni aggiuntive sull'uso dell'API del Servizio cache gestita per l'accesso a una cache sono fornite nella sezione Uso del Servizio cache gestita di Azure.

Per esempi completi che dimostrino il Servizio cache gestita, vedere Esempi del Servizio cache gestito di Azure.

Vedere anche

Mostra: