Zoeken…


Opmerkingen

Caching is het proces waarbij gegevens ergens worden opgeslagen voor toekomstige verzoeken, in ons geval kunnen we de ongewenste hit naar database voorkomen om de gegevens te krijgen als we de gegevens ergens in de cache opslaan, op deze manier kunnen we ervoor zorgen dat de gegevens sneller worden geserveerd .

System.Runtime.Caching (MemoryCache)

Importeer de naamruimte System.Runtime.Caching (zorg ervoor dat u DLL van System.Runtime.Caching hebt toegevoegd aan uw projectreferentie).

Maak een instantie van de klasse MemoryCache.

MemoryCache memCache = MemoryCache.Default;

Voeg waarden toe aan MemoryCache

public IQueryable<tblTag> GettblTags()
        {
            var ca = db.tblTags;
            memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
            return db.tblTags;
        }

Hier is "tag" mijn sleutel en "ca" is mijn waarden en DateTimeOffset.UtcNow.AddMinutes (5) is voor het instellen van de cache voor vijf minuten vanaf nu.

Haal waarden uit 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;
            }

We krijgen de cachewaarden in de variabele res, onthoud dat deze waarden er slechts vijf minuten zullen zijn. U kunt dat altijd wijzigen als dat nodig is. Als de waarde niet nul is, zullen we deze gewoon retourneren en de manipulatie uitvoeren en als deze nul is, gaan we door en halen de gegevens uit de database op en voegen de waarde toe aan de cache.

Verwijder waarden uit MemoryCache

            if (memCache.Contains("tag"))
            {
                memCache.Remove("tag");
            }


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow