Introducere în Caching în ASP.NET

Caching-ul în ASP.NET este posibilitatea de a stoca o pagină sau date a site-ului în memorie pentru acces rapid. În ASP.NET nu trebuie să atingeți serverul pentru același răspuns din nou și din nou. Stocați-l în memoria computerului și primiți-l mai repede. Desigur, acest lucru funcționează numai cu date statice, deoarece datele dinamice variază în funcție de fiecare solicitare adresată serverului.

Ce este Caching-ul în ASP.Net?

Cadrul .Net oferă, de asemenea, funcția de memorie în cache, astfel încât performanța aplicației dvs. să poată fi îmbunătățită. Acum vă întrebați, ASP .Net este utilizat pentru crearea de pagini web dinamice care depind de utilizatori, atunci cum se ascunde conținutul?

Să înțelegem acest lucru cu două scenarii - primul în care pagina este tabloul de bord al utilizatorului și al doilea unde are listele de produse. Scenariul doi este independent de utilizator, produsele sunt aceleași cu fiecare solicitare către server și, astfel, întreaga pagină poate fi memorată în cache. Din nou, prețul și disponibilitatea produselor sunt variabile, care pot fi gestionate prin actualizarea în timp util a memoriei cache. Scenariul unu depinde de utilizator, tabloul de bord pentru un utilizator nu poate fi deloc similar cu un alt utilizator. Există însă câteva componente, cum ar fi imagini, legende, anteturi și subsoluri care pot fi memorate în cache pentru a îmbunătăți performanța.ASP.Net permite dezvoltatorilor să se ocupe de ambele tipuri de scenarii în aplicarea lor eficientă.

Cum funcționează Caching în ASP.Net?

Este foarte important să înțelegeți procesul de memorie în paginile web sau de date ASP.Net. Pentru a înțelege acest lucru, ar trebui să înțelegem procesul de compilare .Net, astfel încât să obținem o înțelegere corectă a momentului și a locului în care se vor memora în cache paginile pentru o performanță optimă. Codul paginii ASP.Net este compilat în două etape etapa MSIL și etapa JIT. În etapa MSIL, codul de pagină scris în limbi de nivel înalt este compilat în Limba intermediară Microsoft. Acest lucru se întâmplă ori de câte ori ne construim proiectul. Întregul site web sau proiect este compilat în MSIL de fiecare dată când construim. În etapa JIT, codul MSIL este apoi transformat în codul mașinii native de către compilatorul Just In Time. Acest lucru se produce în timpul executării paginii. Cu toate acestea, nu întregul proiect este convertit în cod nativ tot timpul. Doar paginile solicitate de utilizator sunt convertite din MSIL în cod nativ în timpul execuției. Acest lucru economisește multă lățime de bandă a rețelei și îmbunătățește performanța.

Acum, ce cod ar trebui să cache, când ar trebui să cache și unde?

ASP.Net are un motor cu caracteristici complete dedicat memoriei în cache. Are caracteristici, cum ar fi dependența de timp, fișierul și dependența de cheie, expirarea, eliminarea datelor etc. Nu am intra în aceste detalii în acest articol. Ceea ce trebuie să înțelegem este faptul că putem cache paginile și datele noastre în două locații pentru a îmbunătăți performanțele aplicației noastre ASP.Net. Prima locație este secțiunea Cache de pagini care se află în serverul ASP.Net. Acest magazin stochează memoriile de memorie în cache și fragmentele de pagină, practic paginile ASPX. Ori de câte ori este solicitată o pagină majoritar statică, o copie a codului nativ generat este stocată în secțiunea Cache a paginii. Acest lucru economisește timpul de compilare JIT în timpul solicitărilor de pagini ulterioare. A doua locație este Data Cache. Aceasta stochează datele preluate de pe serverele de date sau de pe alte servere. Stocarea unei copii a acestor date ajută la salvarea apelurilor de rețea viitoare pe serverele de baze de date sau alte servere terțe. Câteva exemple de date în cache sunt date SQL Server, date XML, date JSON, răspunsuri API terțe, etc.

Tipuri de cache în ASP.Net

1. Memoria de ieșire a paginii

Pagină de ieșire în pagină Caching înseamnă să memoriți în cache ieșirea completă a paginii solicitate. Ori de câte ori un utilizator solicită o pagină ASP.Net, compilatorul JIT compilează codul MSIL relevant și generează ieșirea codului autohton pentru a fi trimis ca răspuns la client. Aceasta înseamnă că de fiecare dată când se solicită pagina, compilatorul JIT trebuie să genereze codul autohton. Ce se întâmplă dacă pagina are o natură statică? Ce se întâmplă dacă ieșirea paginii este aceeași după fiecare compilare? Putem economisi o mulțime de timp și resurse de compilare dacă stocăm codul nativ generat în memoria cache a paginii. În schimb, cererile ulterioare pentru aceeași pagină pot fi preluate din cache. Aceasta este denumită „Cache Output Page”. Pentru a realiza cache-ul cu ieșire de pagini, trebuie să specificăm directiva OuputCache din codul ASP.Net cu durata în secunde.





2. Memorizarea în fragmente de pagină

Am văzut cum se cachează o pagină statică. Ce se întâmplă dacă pagina este dinamică și variază cu utilizatorii? Aici intervine Cachearea fragmentelor de pagină. Permite unui dezvoltator să cache secțiuni specifice ale paginii. Acest lucru vă ajută atunci când doriți să memorați în cache antetul și subsolul, care este în mare parte static pentru fiecare utilizator. Pentru a realiza Page Fragment Caching în ASP.Net, trebuie să încapsulați codul fragmentului într-un control utilizator separat. Apoi adăugați aceeași directivă OuputCache în controlul utilizatorului. Când controlul utilizatorului este încărcat împreună cu pagina, o copie a acesteia este păstrată în cache. Astfel, toate referințele ulterioare la același control de utilizator pe aceeași pagină sau o pagină diferită vor fi preluate din cache.





3. Cache de date

Data cache este mecanismul de stocare a datelor necesare, care sunt accesate frecvent, în cache. Acest lucru poate îmbunătăți dramatic performanța aplicației. Acest lucru se datorează faptului că memoria de cache a datelor salvează apelurile de întoarcere ale bazei de date, care sunt de notorietate pentru a consuma cel mai mult timp. Când datele sunt accesate frecvent și modificate rareori în cache, serverul prelevează datele din cache în loc să efectueze apeluri la baza de date. Acest lucru vă poate economisi bani, deoarece apelurile la baze de date către serverele de date găzduite de cloud vă încasează pe baza de solicitare. Data Caching în ASP.Net este în sine un motor cu drepturi depline. Pentru a realiza memorie în cache a datelor în pagina noastră ASP, trebuie să utilizăm obiectul Cache.

Cache("ProductName")="My Product";
Label1.Text= Cache("ProductName").ToString();

De ce avem nevoie de Caching în ASP.Net?

După ce am înțeles procesul de cache în ASP.Net, să ne uităm la câteva exemple practice în care cache-ul este implementat în scenarii în timp real.

  • Există o pagină informativă, care generează rapoarte bazate pe datele din baza de date. Tabelele bazei de date sunt reîmprospătate la fiecare câteva ore.
    Ieșirea paginii Cache-ul poate fi utilizat într-un astfel de scenariu cu o durată a setării în cache pentru a se potrivi cu frecvența lucrării de reîmprospătare a datelor.
  • Există o pagină care prezintă mai multe tabele și date care se schimbă constant. Cu toate acestea, legendele și explicația datelor rămân aceleași.
    Fragment de pagină Cache-ul poate fi utilizat pentru a memora în cache doar legenda statică și datele de explicație.
  • Există un tablou de bord care este personalizat de utilizator și generează grafice și diagrame la solicitările utilizatorilor. Datele utilizate pentru generarea graficelor și graficelor se modifică rar.
    Cache-ul de date poate fi utilizat pentru a memora în cache datele și pentru a genera dinamic diagrame și grafice solicitate de utilizator.

Concluzie

Astfel, am aflat că memoria cache vine un drum lung în îmbunătățirea performanței aplicației noastre ASP.Net. Acesta a fost un articol de nivel introductiv despre cache în ASP.Net. Mai sunt multe de explorat. Este recomandat să aflați mai multe despre memoria cache pentru a îmbunătăți în continuare performanțele aplicației.

Articol recomandat

Acesta a fost un ghid pentru Caching în ASP.NET. Aici discutăm Introducerea în cache în ASP.NET și lucrările sale împreună cu Tipurile de memorie în cache. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. ASP.NET Framework
  2. ASP.Net Controluri de validare
  3. Carieră în ASP.NET
  4. Întrebări de intervi .NET