ASP.NET fornisce capacità di programmazione che essenzialmente memorizzano le informazioni in una ASP.NET applicazione. La funzionalità è simile a quella dell'oggetto Applicazione, ma ha la capacità di mantenere dinamicamente le informazioni memorizzate in cache per tutta la vita dell'applicazione ASP.NET. Memorizzare i dati in cache in un'applicazione può migliorare notevolmente le prestazioni perché i dati sono locali sul server e possono essere recuperati rapidamente. Invece di dover riinterrogare la fonte dati originale. In particolare, il collo di bottiglia più grande dell'attuale sistema è il database, e l'uso razionale della cache può ridurre molti accessi inutili al database, ottimizzando così le prestazioni del sistema.
Gli oggetti cache migliorano la capacità di implementare notifiche di scadenza e callback basate sulla rilevanza che permettono azioni sugli elementi memorizzati nella cache da parte di altri utenti dell'applicazione di gestione o dall'ASP.NET stesso. Usa l'oggetto Cache per memorizzare qualsiasi tipo (tipo di valore o tipo di applicazione) prima di aggiornarli o eliminarli. La cache è un oggetto più flessibile rispetto a un oggetto Applicazione. Supporta:
1. Scadenza e cancellazione basate sulla rilevanza - Gli oggetti cache offrono la possibilità di associare automaticamente la scadenza e la cancellazione dei valori della cache a un evento file, a una data/ora specifica o relativa, o a un'altra chiave della cache.
2. Gestione automatica dei lock - Gli oggetti cache includono la gestione interna dei lock, che fornisce la sincronizzazione per gli aggiornamenti atomici (aggiornamenti che possono essere inseriti in un'operazione di calcolo).
3. Meccanismo di callback - L'oggetto cache offre la possibilità di impostare la funzione di callback da chiamare quando si eliminano gli elementi della cache.
Il metodo di addizione della cache include Add() o Insert(), e il metodo Insert può usare parametri opzionali per aggiungere la cache usando entrambi i parametri predefiniti:
Cache.Add(KeyName, KeyValue, Dependenze,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
I parametri sono: nome della cache, oggetto in cache, dipendenza, tempo di scadenza assoluto, tempo di scadenza relativo, priorità ed eventi causati dall'scadenza della cache.
Dipendenze della cache: le dipendenze di file, altre dipendenze della cache, dipendenze dal database e metodi di scadenza vengono impostati, e quando le dipendenze cambiano, la cache è invalida e può generare determinati eventi.
1. Dipendenze nei file: dipendenze della cache sui file xml:
- <p>DataSet dsProducts = new DataSet();</p><p>//...dsProducts数y据Y</p><p>CacheDependency fileDepends = new CacheDependency(Server.MapPath("Northwind.xml"));</p><p>Cache.Insert("dsProducts", dsProducts, fileDepends);</p>
Copia codice
2. Altre dipendenze dagli elementi della cache:
- <p>object cacheData;</p><p>string[] fileDependsArray = { Server.MapPath("Northwind.xml") };</p><p>string[] cacheDependsArray = { "Depend0", "Depend1", "Depend2" };</p><p>CacheDependency cacheDepends = new CacheDependency(fileDependsArray, cacheDependsArray);</p><p>Cache.Insert("cacheName", cacheData, cacheDepends);</p>
Copia codice
3. Impostazione del tempo di scadenza:
AbsoluteExpiration può impostare il tempo di scadenza assoluto della cache, ad esempio impostandola per scadere dopo 30 minuti:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Copia codice NoSlidingExpiration può impostare un tempo di scadenza relativo: se la cache non viene accessibile entro il tempo imposto da NoSlidingExpiration, se la cache scade e non viene accessibile per un certo periodo di tempo, la cache non scadrà. Se accedi alla cache entro 30 minuti, non scadrà:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Copia codice
|