Introduzione alla memorizzazione nella cache in ASP.NET

La memorizzazione nella cache in ASP.NET è la capacità di memorizzare una pagina Web o dati nella memoria per un accesso rapido. In ASP.NET non è necessario colpire ripetutamente il server per la stessa risposta. Conservalo nella memoria del computer e recuperalo più velocemente. Ovviamente, questo funziona solo con dati statici perché i dati dinamici variano con ogni richiesta fatta al server.

Che cos'è la memorizzazione nella cache in ASP.Net?

Il framework .Net fornisce anche la funzione di memorizzazione nella cache in modo che le prestazioni dell'applicazione possano essere migliorate. Ora chiedi, ASP .Net viene utilizzato per la creazione di pagine Web dinamiche dipendenti dall'utente, quindi come memorizza il contenuto nella cache?

Comprendiamolo con due scenari: il primo in cui la pagina è la dashboard dell'utente e il secondo in cui sono presenti elenchi di prodotti. Lo scenario due è indipendente dall'utente, i prodotti sono gli stessi per ogni richiesta al server e quindi l'intera pagina può essere memorizzata nella cache. Ancora una volta, il prezzo e la disponibilità dei prodotti sono variabili, che possono essere gestiti aggiornando tempestivamente la cache. Lo scenario 1 dipende dall'utente, la dashboard di un utente potrebbe non essere affatto simile a un altro utente. Ma ci sono ancora alcuni componenti come immagini, legende, intestazioni e piè di pagina che possono essere memorizzati nella cache per migliorare le prestazioni. ASP.Net consente agli sviluppatori di gestire entrambi i tipi di scenari in modo efficiente nella loro applicazione.

Come funziona la cache in ASP.Net?

È molto importante comprendere il processo delle pagine Web o dei dati della cache ASP.Net. Per capirlo, dovremmo comprendere il processo di compilazione .Net, in modo da ottenere una buona comprensione di quando e dove memorizzare nella cache le pagine per prestazioni ottimali. Il codice della pagina ASP.Net viene compilato in due fasi, la fase MSIL e la fase JIT. Nella fase MSIL, il codice della pagina scritto in linguaggi di alto livello viene compilato in Microsoft Intermediate Language. Questo succede ogni volta che costruiamo il nostro progetto. L'intero sito Web o progetto viene compilato in MSIL ogni volta che costruiamo. Nella fase JIT, il codice MSIL viene quindi convertito in codice macchina nativo dal compilatore Just In Time. Ciò si verifica durante l'esecuzione della pagina. Tuttavia, non l'intero progetto viene sempre convertito in codice nativo. Solo le pagine richieste dall'utente vengono convertite da MSIL in codice nativo durante l'esecuzione. Ciò consente di risparmiare molta larghezza di banda della rete e migliorare le prestazioni.

Ora, quale codice dovremmo memorizzare nella cache, quando dovremmo memorizzare nella cache e dove?

ASP.Net ha un motore completo dedicato alla memorizzazione nella cache. Ha caratteristiche come la dipendenza dal tempo, la dipendenza da file e chiavi, la scadenza, lo scavenging dei dati, ecc. Quello che dobbiamo capire è che possiamo memorizzare nella cache le nostre pagine e i nostri dati in due posizioni per migliorare le prestazioni della nostra applicazione ASP.Net. La prima posizione è la sezione Cache pagina che risiede nel server ASP.Net. Questa pagina memorizza le cache di output e le cache dei frammenti di pagina, fondamentalmente le pagine ASPX. Ogni volta che viene richiesta una pagina per lo più statica, una copia del codice nativo generato viene memorizzata nella sezione Cache della pagina. Ciò consente di risparmiare il tempo di compilazione JIT durante le successive richieste di pagina. La seconda posizione è la cache dei dati. Questo memorizza i dati recuperati dai server di dati o altri server. La memorizzazione di una copia di questi dati aiuta a salvare future chiamate di rete verso i server di database o altri server di terze parti. Alcuni esempi di dati memorizzati nella cache sono dati di SQL Server, dati XML, dati JSON, risposte API di terze parti, ecc.

Tipi di memorizzazione nella cache in ASP.Net

1. Memorizzazione nella cache dell'output della pagina

Caching dell'output della pagina significa memorizzare nella cache l'output completo della pagina richiesta. Ogni volta che un utente richiede una pagina ASP.Net, il compilatore JIT compila il codice MSIL pertinente e genera l'output del codice nativo da inviare come risposta al client. Ciò significa che ogni volta che viene richiesta la pagina, il compilatore JIT deve generare il codice nativo. Cosa succede se la pagina è di natura statica? Cosa succede se l'output della pagina è lo stesso dopo ogni compilation? Possiamo risparmiare un sacco di tempo e risorse di compilazione se memorizziamo il codice nativo generato nella cache della pagina. Le richieste successive per la stessa pagina possono invece essere recuperate dalla cache. Questo è definito come cache di output della pagina. Per ottenere la cache di output della pagina, è necessario specificare la direttiva OuputCache nel codice ASP.Net con durata in secondi.





2. Memorizzazione nella cache dei frammenti di pagina

Abbiamo visto come memorizzare nella cache una pagina statica. Cosa succede se la pagina è dinamica e varia a seconda degli utenti? Ecco che arriva la pagina Fragment Caching. Consente a uno sviluppatore di memorizzare nella cache specifiche sezioni della pagina. Questo aiuta quando si desidera memorizzare nella cache l'intestazione e il piè di pagina, che è principalmente statico per ogni utente. Per ottenere la memorizzazione nella cache dei frammenti di pagina in ASP.Net, è necessario incapsulare il codice del frammento in un controllo utente separato. Quindi aggiungere la stessa direttiva OuputCache nel controllo utente. Quando il controllo utente viene caricato insieme alla pagina, una sua copia viene mantenuta nella cache. Pertanto, tutti i riferimenti successivi allo stesso controllo utente sulla stessa pagina o su una pagina diversa verranno recuperati dalla cache.





3. Memorizzazione nella cache dei dati

La memorizzazione nella cache dei dati è il meccanismo di archiviazione dei dati richiesti, a cui si accede spesso, nella cache. Ciò può migliorare notevolmente le prestazioni dell'applicazione. Questo perché la memorizzazione nella cache dei dati salva le chiamate di andata e ritorno del database, che sono note per consumare la maggior parte del tempo. Quando i dati di accesso frequente e raramente modificati vengono memorizzati nella cache, il server recupera i dati dalla cache anziché effettuare chiamate al database. Ciò può anche farti risparmiare un po 'di denaro quando le chiamate del database ai server di dati ospitati sul cloud ti addebitano in base alla richiesta. La memorizzazione dei dati nella cache in ASP.Net è di per sé un motore completo. Per ottenere la memorizzazione nella cache dei dati nella nostra pagina Web ASP, è necessario utilizzare l'oggetto Cache.

Cache("ProductName")="My Product";
Label1.Text= Cache("ProductName").ToString();

Perché è necessaria la memorizzazione nella cache in ASP.Net?

Dopo aver compreso il processo di memorizzazione nella cache in ASP.Net, esaminiamo alcuni esempi pratici in cui la memorizzazione nella cache viene implementata in scenari in tempo reale.

  • C'è una pagina informativa, che genera report basati sui dati nel database. Le tabelle del database vengono aggiornate ogni poche ore.
    La cache di output della pagina può essere utilizzata in tale scenario con una durata della cache impostata in modo che corrisponda alla frequenza del processo di aggiornamento dei dati.
  • C'è una pagina che mostra diverse tabelle e dati che cambiano costantemente. Tuttavia, le leggende e la spiegazione dei dati rimangono invariate.
    La memorizzazione nella cache dei frammenti di pagina può essere utilizzata per memorizzare nella cache solo la legenda statica e i dati esplicativi.
  • Esiste una dashboard utente che è personalizzata e genera grafici e diagrammi su richiesta dell'utente. I dati utilizzati per generare i grafici e i grafici cambiano di rado.
    La memorizzazione nella cache dei dati può essere utilizzata per memorizzare nella cache i dati e generare dinamicamente diagrammi e grafici richiesti dall'utente.

Conclusione

Pertanto, abbiamo appreso che la memorizzazione nella cache può fare molto per migliorare le prestazioni della nostra applicazione ASP.Net. Questo era un articolo introduttivo sulla memorizzazione nella cache in ASP.Net. C'è altro da esplorare. Si consiglia di saperne di più sulla memorizzazione nella cache per migliorare ulteriormente le prestazioni dell'applicazione.

Articolo raccomandato

Questa è stata una guida alla memorizzazione nella cache in ASP.NET. Qui discutiamo Introduzione alla memorizzazione nella cache in ASP.NET e il suo funzionamento insieme ai tipi di memorizzazione nella cache. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. ASP.NET Framework
  2. Controlli di convalida ASP.Net
  3. Carriera in ASP.NET
  4. Domande di intervista .NET

Categoria: