asp.net-web-api
Buforowanie
Szukaj…
Uwagi
Buforowanie to proces przechowywania danych gdzieś na przyszłe żądania, w naszym przypadku możemy uniknąć niechcianego trafienia do bazy danych, aby uzyskać dane, jeśli gdzieś buforujemy dane, w ten sposób możemy upewnić się, że dane są dostarczane szybciej .
System.Runtime.Caching (MemoryCache)
Zaimportuj przestrzeń nazw System.Runtime.Caching (upewnij się, że dodałeś DLL System.Runtime.Caching do odwołania do projektu).
Utwórz instancję klasy MemoryCache.
MemoryCache memCache = MemoryCache.Default;
Dodaj wartości do MemoryCache
public IQueryable<tblTag> GettblTags()
{
var ca = db.tblTags;
memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
return db.tblTags;
}
Tutaj „tag” jest moim kluczem, a „ca” to moje wartości, a DateTimeOffset.UtcNow.AddMinutes (5) służy do ustawienia pamięci podręcznej na pięć minut od teraz.
Uzyskaj wartości z 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;
}
Otrzymamy wartości pamięci podręcznej w zmiennej res, pamiętaj, że te wartości będą tam tylko przez pięć minut. Zawsze możesz to zmienić według potrzeb. Jeśli wartość nie jest równa null, po prostu ją zwrócimy i wykonamy manipulację, a jeśli wartość będzie równa null, przejdziemy do pobierania danych z bazy danych i dodamy wartość do pamięci podręcznej.
Usuń wartości z MemoryCache
if (memCache.Contains("tag"))
{
memCache.Remove("tag");
}