Projektide arendamisel kasutatakse vahemälu sageli andmete vahemällu salvestamiseks vastavalt nende ärivajadustele või andmebaasipäringute sisu vahemällu salvestamiseks, et vähendada andmebaasile tekkivat survet.
Levinumad mäluvahemälud: System.Runtime.Caching / MemoryCache ja Microsoft.Extensions.Caching.Memory
Microsoftil on 2 lahendust, kaks erinevat NuGet paketti vahemällu salvestamiseks, mõlemad on Microsofti soovituse järgi suurepärased, eelistavad kasutada Microsoft.Extensions.Caching.Memory, sest see integreerub paremini Asp .NET tuumaga. Seda saab hõlpsasti lisada Asp .NET Core'i sõltuvuse süstimise mehhanismi.
See artikkel kasutab Microsoft.Extensions.Caching.Memory andmete vahemällu salvestamiseks, mida lühendatakse kui MSCache, ning Microsoft tutvustab:Hüperlingi sisselogimine on nähtav.
Märkus: Microsoft.Extensions.Caching.Memory on lõimede jaoks turvaline
Mida saab MSCache teha?
- Absoluutne aegunud tugi
- Libiseva aegumise tugi (määra aeg, TimeSpan, edasilükatud, kui vahemällu salvestatud aeg on määratud aja sees, muidu aegub)
- Aegunud tagasikutse
- Kohandatud aegumine
MemoryCacheEntryOptions vahemälu seaded
- AbsoluteExpirationAbsoluutne aegumisaeg, kui null, on tingimus kehtetu
- AbsoluteExpirationRelativeTo NowAbsoluutne aegumisaeg võrreldes praeguse ajaga (kasutades TimeSpani) on nulltingimus kehtetu
- SlidingExpirationLükka aegumisaeg
- ExpirationTokenidSaadaval vahemälu aegumise kohandamiseks
- PostEvictionTagasikutsedVahemälu tühistamise tagasikutsed
- PrioriteetVahemälu eseme prioriteet (järjekord, milles vahemälu täielikult tühjendatakse, kui vahemälu on täis)
- SuurusTähistab vahemällu salvestatud andmete suurust, mis on tavaliselt mälusiseses vahemälus null
Alusta MSCache'iga
Projekt ASP.NET Core MVC Nuget käsu paigaldus:
Kasutades tee lihtsaid pakke.
Liides:
Rakendamine:
Sõltuvuse süstimise konfiguratsioon singleton
Testid kasutavad MSCache'i
Kirjuta andmeid suhtelise aegumise ja libiseva aegumise abil ning tee koodiga lugemistest järgmiselt.
Kontrolleri kood:
Kirjuta vahemällu salvestatud andmed:
Loe vahemällu salvestatud andmeid:
Ligipääs:Hüperlingi sisselogimine on nähtav.Pärast suhtelise aegumise ja libisemise määramist pääse ligi: https://localhost:44370/Home/Get Hangi vahemällu salvestatud andmed järgmiselt:
30 sekundi jooksul külastasin linki mitu korda vahemälu lugemiseks ja avastasin, et absoluutne aegumistähtaeg lõppes täielikult 30 sekundi pärast, kuid suutsin seda siiski lugeda ka pärast aegumistähtaja libistamist, nagu alloleval joonisel näidatud:
(Lõpp)
|