Når projekter udvikles, bruges cache ofte til at cache nogle data efter deres forretningsbehov, eller cache indholdet af databaseforespørgsler for at reducere presset på databasen.
Almindeligt anvendte hukommelsescaches: System.Runtime.Caching / MemoryCache og Microsoft.Extensions.Caching.Memory
Microsoft har 2 løsninger, 2 forskellige NuGet-pakker til caching, begge er gode, ifølge Microsofts anbefaling, foretrækker at bruge Microsoft.Extensions.Caching.Memory, fordi det integrerer bedre med Asp .NET core. Det kan nemt indsættes i Asp .NET Cores afhængighedsinjektionsmekanisme.
Denne artikel bruger Microsoft.Extensions.Caching.Memory til at cache data, som forkortes MSCache, og Microsoft introducerer:Hyperlink-login er synlig.
Bemærk: Microsoft.Extensions.Caching.Memory er trådsikker
Hvad kan MSCache gøre?
- Absolut udløbet support
- Sliding udløbsstøtte (angiv et tidspunkt, TimeSpan, udsættes hvis der er et cachet tidspunkt inden for den angivne tid, ellers udløber det)
- Udløbet callback
- Brugerdefineret udløb
MemoryCacheEntryOptions cache-indstillinger
- AbsoluteUdløbAbsolut udløbstid, hvis nul, er betingelsen ugyldig
- AbsolutUdløbRelativtilNuDen absolutte udløbstid i forhold til den aktuelle tid (ved brug af TimeSpan) er nullbetingelse ugyldig
- Glidende udløbSkub udløbstiden
- UdløbsTokensTilgængelig for at tilpasse cache-udløb
- Tilbagekaldelser efter udsættelseCache-invalideringscallbacks
- PrioritetCache-itemprioritet (rækkefølgen hvori cachen er fuldstændig ryddet, når cachen er fuld)
- StørrelseRepræsenterer størrelsen af de cachede data, som generelt er null i cachen i hukommelsen
Kom i gang med MSCache
Projekt ASP.NET Kerne-MVC Nuget Command Installation:
Når du bruger dem, lav simple pakker.
Brugerflade:
Implementering:
Afhængighedsinjektionskonfiguration singleton
Tests bruger MSCache
Skriv data ved brug af relativ udløbsdato og glidende udløbsdato og udfør en læsetest med koden som følger.
Controller-kode:
Skriv cachede data:
Læs cachede data:
Adgang:Hyperlink-login er synlig.Efter at have sat den relative udløbsdato og glidende udløbsdato, tilgå: https://localhost:44370/Home/Get Få de cachede data som følger:
Inden for 30 sekunder besøgte jeg linket for at læse cachen flere gange og fandt ud af, at den absolutte udløbsdato var helt udløbet efter 30 sekunder, men jeg kunne stadig læse den efter at have udskudt udløbstiden, som vist i figuren nedenfor:
(Slut)
|