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");
            }


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow