asp.net-web-api
caching
Sök…
Anmärkningar
Caching är processen för att lagra data någonstans för framtida förfrågningar, i vårt fall kan vi undvika den oönskade hit-to-databasen för att få informationen om vi cachar informationen någonstans, på detta sätt kan vi se till att data serveras på ett snabbare sätt .
System.Runtime.Caching (MemoryCache)
Importera namnområdet System.Runtime.Caching (Se till att du har lagt till System.Runtime.Caching DLL till din projektreferens).
Skapa en instans av MemoryCache-klassen.
MemoryCache memCache = MemoryCache.Default;
Lägg till värden i MemoryCache
public IQueryable<tblTag> GettblTags()
{
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
Här är "tagg" min nyckel och "ca" är mina värden och DateTimeOffset.UtcNow.AddMinutes (5) är för att ställa in cachen i fem minuter från och med nu.
Hämta värden från 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;
}
Vi får cachevärdena i variabeln res, kom ihåg att dessa värden kommer att finnas där bara i fem minuter. Du kan alltid ändra det efter behov. Om värdet inte är noll kommer vi bara att returnera det och göra manipuleringen och om det är noll kommer vi att hämta data från databasen och lägga till värdet i cache.
Ta bort värden från MemoryCache
if (memCache.Contains("tag"))
{
memCache.Remove("tag");
}