Vid projektutveckling används cache ofta för att cacha viss data enligt deras affärsbehov, eller för att cacha innehållet i databasfrågor för att minska trycket på databasen.
Vanligt använda minnescacher: System.Runtime.Caching / MemoryCache och Microsoft.Extensions.Caching.Memory
Microsoft har två lösningar, två olika NuGet-paket för cache, båda är utmärkta, enligt Microsofts rekommendation föredrar de att använda Microsoft.Extensions.Caching.Memory eftersom det integreras bättre med Asp .NET-kärnan. Det kan enkelt injiceras i Asp .NET Cores beroendeinjektionsmekanism.
Denna artikel använder Microsoft.Extensions.Caching.Memory för att cacha data, vilket förkortas MSCache, och Microsoft introducerar:Inloggningen med hyperlänken är synlig.
Notera: Microsoft.Extensions.Caching.Memory är trådsäker
Vad kan MSCache göra?
- Absolut utgånget stöd
- Stöd för slidande utgångstid (ange en tid, TimeSpan, skjuts upp om det finns en cachad tid inom den angivna tiden, annars går den ut)
- Utgången återkoppling
- Custom utgångsdatum
MemoryCacheEntryOptions-cacheinställningar
- AbsoluteExpirationAbsolut utgångstid, om noll, är villkoret ogiltigt
- AbsolutFörfallandeRelativtNuNu.Den absoluta utgångstiden relativt den aktuella tiden (med TimeSpan) är null-villkor ogiltigt.
- SlidingExpirationSkjut ut utgångstiden
- FörfallstokensTillgänglig för att anpassa cachens utgångsdatum
- Återkopplingar efter EvictionCache-ogiltigförklaringar
- PrioritetCache-itemprioritet (ordningen i vilken cachen är helt rensad när cachen är full)
- StorlekRepresenterar storleken på den cachade datan, som generellt är null i minnescachen
Kom igång med MSCache
Projekt ASP.NET Kärn-MVC Nuget Command-installation:
När du använder dem, gör enkla paket.
Gränssnitt:
Implementering:
Beroendeinjektionskonfiguration singleton
Tester använder MSCache
Skriv data med relativ utgång och glidande utgång och utför ett lästest med koden enligt följande.
Kontrollkod:
Skriv cachad data:
Läs cachade data:
Tillgång:Inloggningen med hyperlänken är synlig.Efter att ha satt relativ utgångstid och glidande utgångstid, gå åt: https://localhost:44370/Home/Get Få de cachade uppgifterna enligt följande:
Inom 30 sekunder besökte jag länken för att läsa cachen flera gånger och upptäckte att den absoluta utgångstiden helt gick ut efter 30 sekunder, men jag kunde fortfarande läsa den efter att ha skjutit ut utgångstiden, som visas i figuren nedan:
(Slut)
|