Kuriant projektus, talpykla dažnai naudojama kai kuriems duomenims talpykloje pagal verslo poreikius arba duomenų bazės užklausų turiniui talpykloje, kad būtų sumažintas spaudimas duomenų bazei.
Dažniausiai naudojamos atminties talpyklos: System.Runtime.Caching / MemoryCache ir Microsoft.Extensions.Caching.Memory
"Microsoft" turi 2 sprendimus, 2 skirtingus "NuGet" paketus, skirtus talpyklai, abu yra puikūs, pagal "Microsoft" rekomendaciją, mieliau naudoja Microsoft.Extensions.Caching.Memory, nes jis geriau integruojasi su Asp .NET branduoliu. Jį galima lengvai įterpti į Asp .NET Core priklausomybės įpurškimo mechanizmą.
Šiame straipsnyje duomenims talpykloje naudoti naudojama Microsoft.Extensions.Caching.Memory, kuri sutrumpintai vadinama MSCache, o "Microsoft" pristato:Hipersaito prisijungimas matomas.
Pastaba: Microsoft.Extensions.Caching.Memory yra saugus sriegiams
Ką gali padaryti MSCache?
- Absoliučiai pasibaigęs palaikymas
- Stumdomas galiojimo laikas (nurodykite laiką, TimeSpan, atidėtas, jei per nurodytą laiką yra talpyklos laikas, kitaip jis baigsis)
- Pasibaigęs atgalinis skambutis
- Pasirinktinis galiojimo laikas
MemoryCacheEntryOptions talpyklos parametrai
- Absoliutus galiojimo laikasAbsoliutus galiojimo laikas, jei neapibrėžta, sąlyga negalioja
- Absoliutus galiojimo laikasSantykinisToNowAbsoliutus galiojimo laikas, palyginti su dabartiniu laiku (naudojant TimeSpan), yra neleistina sąlyga
- Stumdomas galiojimo laikasPastumkite galiojimo laiką
- Galiojimo pabaigos žetonaiGalima tinkinti talpyklos galiojimo laiką
- Po iškeldinimoAtgaliniai skambučiaiTalpyklos negaliojimo atgaliniai skambučiai
- PrioritetasTalpyklos elemento prioritetas (tvarka, kuria talpykla visiškai išvaloma, kai talpykla pilna)
- DydisNurodo talpykloje saugomų duomenų dydį, kuris paprastai yra nulinis atminties talpykloje
Darbo su MSCache pradžia
"Project ASP.NET Core MVC" Nuget komandų diegimas:
Naudodamiesi padarykite paprastas pakuotes.
Sąsaja:
Įgyvendinimas:
Priklausomybės įpurškimo konfigūracija singleton
Testuose naudojamas MSCache
Rašykite duomenis naudodami santykinį galiojimo laiką ir slankiojantį galiojimo laiką ir atlikite skaitymo testą su kodu taip.
Kontrolieriaus kodas:
Rašyti talpykloje saugomus duomenis:
Skaitykite talpykloje saugomus duomenis:
Prieiga:Hipersaito prisijungimas matomas.Nustatę santykinį galiojimo laiką ir slankiojantį galiojimo laiką, pasiekite: https://localhost:44370/Home/Get Gaukite talpykloje saugomus duomenis taip:
Per 30 sekundžių kelis kartus apsilankiau nuorodoje, kad perskaityčiau talpyklą, ir pastebėjau, kad absoliutus galiojimo laikas visiškai baigėsi po 30 sekundžių, bet vis tiek galėjau jį perskaityti po slydimo galiojimo pabaigos, kaip parodyta paveikslėlyje žemiau:
(Pabaiga)
|