Izstrādājot projektus, kešatmiņa bieži tiek izmantota, lai kešatmiņā saglabātu dažus datus atbilstoši viņu biznesa vajadzībām vai saglabātu datu bāzes vaicājumu saturu, lai samazinātu spiedienu uz datu bāzi.
Bieži izmantotās atmiņas kešatmiņas: System.Runtime.Caching / MemoryCache un Microsoft.Extensions.Caching.Memory
Microsoft ir 2 risinājumi, 2 dažādas NuGet pakotnes kešatmiņai, abi ir lieliski, saskaņā ar Microsoft ieteikumu, dod priekšroku Microsoft.Extensions.Caching.Memory, jo tas labāk integrējas ar Asp .NET kodolu. To var viegli ievadīt Asp .NET Core atkarības injekcijas mehānismā.
Šajā rakstā datu kešatmiņā tiek izmantots Microsoft.Extensions.Caching.Memory, kas saīsināts kā MSCache, un Microsoft ievieš:Hipersaites pieteikšanās ir redzama.
Piezīme: Microsoft.Extensions.Caching.Memory ir drošs ar pavedieniem
Ko var darīt MSCache?
- Absolūts atbalsts, kam beidzies derīguma termiņš
- Bīdāmā derīguma termiņa atbalsts (norādiet laiku, TimeSpan, atlikts, ja norādītajā laikā ir kešatmiņas laiks, pretējā gadījumā tas beigsies)
- Beidzies atzvanīšanas termiņš
- Pielāgots derīguma termiņš
MemoryCacheEntryOptions kešatmiņas iestatījumi
- Absolūtais derīguma termiņšAbsolūtais derīguma termiņš, ja nav spēkā, nosacījums nav spēkā
- AbsoluteExpirationRelativeToNowAbsolūtais derīguma termiņš attiecībā pret pašreizējo laiku (izmantojot TimeSpan) ir nulles nosacījums nederīgs
- Bīdāmais derīguma termiņšDerīguma termiņa bīdīšana
- ExtermationTokensPieejams, lai pielāgotu kešatmiņas derīguma termiņu
- Atzvanīšana pēc izlikšanasKešatmiņas atzvanīšana par spēkā neesamību
- PrioritāteKešatmiņas vienuma prioritāte (secība, kādā kešatmiņa tiek pilnībā notīrīta, kad kešatmiņa ir pilna)
- IzmērsNorāda kešatmiņā saglabāto datu lielumu, kas atmiņā esošajā kešatmiņā parasti ir nulle
Darba sākšana ar MSCache
Project ASP.NET Core MVC Nuget komandu instalēšana:
Lietojot, izveidojiet vienkāršus iepakojumus.
Interfeiss:
Ieviešana:
Atkarības injekcijas konfigurācija singleton
Testos tiek izmantots MSCache
Rakstiet datus, izmantojot relatīvo derīguma termiņu un bīdāmo derīguma termiņu, un veiciet lasīšanas testu ar kodu, kā norādīts tālāk.
Kontroliera kods:
Ierakstiet kešatmiņā saglabātos datus:
Lasiet kešatmiņā saglabātos datus:
Piekļuve:Hipersaites pieteikšanās ir redzama.Pēc relatīvā derīguma termiņa un bīdāmā derīguma termiņa iestatīšanas piekļūstiet: https://localhost:44370/Home/Get Iegūstiet kešatmiņā saglabātos datus šādi:
30 sekunžu laikā es vairākas reizes apmeklēju saiti, lai lasītu kešatmiņu, un atklāju, ka absolūtais derīguma termiņš pilnībā beidzās pēc 30 sekundēm, bet es joprojām varēju to izlasīt pēc derīguma termiņa bīdīšanas, kā parādīts zemāk redzamajā attēlā:
(Beigas)
|