asp.net-web-api
caching
Ricerca…
Osservazioni
Il caching è il processo di memorizzazione dei dati da qualche parte per le future richieste, nel nostro caso possiamo evitare il colpo indesiderato al database per ottenere i dati se memorizziamo i dati da qualche parte, in questo modo possiamo assicurarci che i dati siano serviti in maniera più veloce .
System.Runtime.Caching (MemoryCache)
Importa lo spazio dei nomi System.Runtime.Caching (Assicurati di aver aggiunto System.Runtime.Caching DLL al riferimento del tuo progetto).
Creare un'istanza della classe MemoryCache.
MemoryCache memCache = MemoryCache.Default;
Aggiungi valori a MemoryCache
public IQueryable<tblTag> GettblTags()
{
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
Qui "tag" è la mia chiave e "ca" sono i miei valori e DateTimeOffset.UtcNow.AddMinutes (5) serve per impostare la cache per cinque minuti da ora.
Ottieni valori da MemoryCache
var res = memCache.Get("tag");
if (res != null)
{
return res;
}
else {
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
Otterremo i valori della cache nella variabile res, ricorda che questi valori saranno lì solo per cinque minuti. Puoi sempre modificarlo secondo necessità. Se il valore non è nullo, lo restituiremo e faremo la manipolazione e se è nullo andremo avanti e recupereremo i dati dal database e aggiungeremo il valore alla cache.
Rimuovi i valori da MemoryCache
if (memCache.Contains("tag"))
{
memCache.Remove("tag");
}