Uvod u caching u ASP.NET

Spremanje u ASP.NET-u je mogućnost pohrane web stranice ili podataka u memoriju za brzi pristup. U ASP.NET-u ne morate ponovno i ponovno pritisnuti poslužitelj za isti odgovor. Spremite ga u memoriju računala i brže dohvatite. Naravno, ovo funkcionira samo sa statičkim podacima jer se dinamički podaci razlikuju ovisno o svakom zahtjevu upućenom poslužitelju.

Što je predanje u ASP.Net?

Okvir .Net omogućuje i predmemoriranje kako bi se poboljšala učinkovitost vaše aplikacije. Sad ste pitali, ASP .Net koristi se za izradu dinamičnih web stranica o kojima ovisi korisnik, a kako onda predmemorira sadržaj?

Razumijemo to s dva scenarija - prvo gdje je stranica nadzorna ploča korisnika i drugo gdje ima popis proizvoda. Scenarij dva neovisan je o korisniku, proizvodi su isti kod svakog zahtjeva na poslužitelju i na taj način se cijela stranica može spremiti u predmemoriju. Opet su cijena i dostupnost proizvoda promjenjivi, što se može riješiti redovitim ažuriranjem predmemorije. Scenarij jedan ovisi o korisniku, nadzorna ploča za jednog korisnika možda uopće nije slična drugom korisniku. No još uvijek postoji nekoliko komponenti poput slika, legendi, zaglavlja i podnožja koje se mogu spremiti u svrhu poboljšanja performansi.ASP.Net omogućuje programerima da učinkovito primjenjuju obje vrste scenarija u svojoj primjeni.

Kako funkcionira Caching u ASP.Net?

Vrlo je važno razumjeti proces ASP.Net predmemorira web stranice ili podatke. Da bismo to shvatili, trebali bismo razumjeti postupak sastavljanja .Net, tako da bismo dobili pošteno razumijevanje kada i gdje treba spremiti stranice u predmemoriranje za optimalne performanse. Kôd stranice ASP.Net sastavlja se u dvije faze fazi MSIL i fazi JIT. U fazi MSIL, kôd stranice napisan na jezicima visoke razine sastavlja se u Microsoft srednji jezik. To se događa kad god izgradimo naš projekt. Cijela web stranica ili projekt sastavlja se u MSIL-u svaki put kada izgradimo. U fazi JIT, MSIL kod se zatim pretvara u matični strojni kod pomoću alata Just In Time. To se događa tijekom izvođenja stranice. Međutim, ne čitav se projekt stalno pretvara u matični kod. Samo se stranice koje korisnik traži pretvaraju iz MSIL-a u izvorni kod tijekom izvođenja. To štedi puno propusnosti mreže i poboljšava performanse.

Koji kôd treba keširati, kad treba keširati i gdje?

ASP.Net ima potpuno opremljen motor posvećen keširanju. Ima značajke kao što su ovisnost o vremenu, ovisnost o datotekama i ključevima, rok trajanja, uklanjanje podataka itd. Nećemo ulaziti u ove detalje u ovom članku. Ono što moramo razumjeti je da možemo pohraniti keširanje naših stranica i podataka na dvije lokacije kako bismo poboljšali performanse naše ASP.Net aplikacije. Prvo mjesto je odjeljak Page Cache koji se nalazi na ASP.Net poslužitelju. Ova pohrana izlaznih predmemorija stranica i predmemorija stranica, u osnovi ASPX stranice. Kad god se traži uglavnom statična stranica, kopija generiranog izvornog koda pohranjuje se u odjeljak Keš stranice. Ovo štedi vrijeme sastavljanja JIT-a tijekom sljedećih zahtjeva na stranicama. Drugo mjesto je predmemorija podataka. Ovdje se pohranjuju podaci dohvaćeni s poslužitelja podataka ili drugih poslužitelja. Spremanje kopije ovih podataka pomaže u spremanju budućih mrežnih poziva na poslužitelje baze podataka ili druge poslužitelje treće strane. Nekoliko primjera predmemoriranih podataka su podaci SQL Server, XML podaci, JSON podaci, odgovori treće strane API-ja, itd.

Vrste podučavanja u ASP.Net

1. Spremanje izlaznih stranica

Spremanje izlaza stranice znači predmemoriranje cjelokupnog ispisa tražene stranice. Kad god korisnik zatraži stranicu ASP.Net, JIT prevodilac sastavi relevantni MSIL kôd i generira izvorni izlazni kod koji se šalje kao odgovor klijentu. To znači da kad god se zatraži stranica, JIT prevodilac mora generirati nativni kod. Što ako je stranica statične prirode? Što ako je ispis stranice isti nakon svake kompilacije? Možemo uštedjeti puno vremena i resursa za kompilaciju ako pohranimo generirani izvorni kod unutar predmemorije stranice. Naknadni zahtjevi za istu stranicu mogu se preuzimati iz predmemorije. To se naziva preoblikovanjem izlaza na stranici. Da bismo postigli predmemoriranje izlaznih stranica, moramo odrediti OuputCache direktivu u ASP.Net kodu s trajanjem u sekundama.





2. Predmemoriranje fragmenata stranice

Vidjeli smo kako predmemorirati statičku stranicu. Što ako je stranica dinamična i razlikuje se od korisnika? Evo predmemoriranja fragmenata stranice. To omogućava programeru da predmemorira određene dijelove stranice. Ovo vam pomaže kad želite predmemorirati zaglavlje i podnožje, koji su uglavnom statički za svakog korisnika. Da biste postigli keširanje fragmenata stranice u ASP.Net, morate uložiti kod fragmenta u zasebnu korisničku kontrolu. Zatim dodajte istu OuputCache direktivu u korisničku kontrolu. Kada se korisnička kontrola učita zajedno sa stranicom, njezina se kopija održava u predmemoriji. Dakle, sve kasnije reference na istu korisničku kontrolu na istoj ili drugoj stranici preuzimale bi se iz predmemorije.





3. Spremanje podataka

Spremanje podataka mehanizam je za pohranu potrebnih podataka kojima se često pristupa u predmemoriju. To može dramatično poboljšati performanse aplikacije. To je zato što predmemoriranje podataka sprema pozive iz baze podataka u povratku, koji su ozloglašeni za potrošnju najviše vremena. Kada se često sprema u predmemoriju i rijetko se mijenjaju podaci, poslužitelj dohvaća podatke iz predmemorije umjesto da upućuje pozive iz baze podataka. To vam može uštedjeti i novac jer pozivi baze podataka poslužiteljima podataka u oblaku naplaćuju po zahtjevu. Podržavanje podataka u ASP.Net je sam po sebi motor. Da bismo postigli predmemoriranje podataka na našoj ASP web stranici, moramo koristiti objekt Cache.

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

Zašto nam treba Caching u ASP.Netu?

Shvativši proces keširanja u ASP.Netu, pogledajmo nekoliko praktičnih primjera gdje se predmemoriranje provodi u scenarijima u stvarnom vremenu.

  • Postoji informativna stranica koja generira izvješća na temelju podataka u bazi podataka. Tablice baze podataka osvježavaju se svakih nekoliko sati.
    Izlazno spremanje podataka može se koristiti u takvom scenariju s trajanjem postavljenog predmemorije tako da odgovara učestalosti posla za osvježavanje podataka.
  • Postoji stranica koja prikazuje nekoliko tablica i podataka koji se stalno mijenjaju. Međutim, legende i objašnjenje podataka ostaje isto.
    Predmemoriranje fragmenata stranice može se koristiti za predmemoriranje samo statičke legende i podataka objašnjenja.
  • Postoji korisnička nadzorna ploča koja je prilagođena korisniku i generira grafikone i grafikone na korisničke zahtjeve. Podaci korišteni za stvaranje grafikona i grafikona rijetko se mijenjaju.
    Predmemoriranje podataka može se koristiti za predmemoriranje podataka i dinamično generiranje traženih grafikona i grafikona.

Zaključak

Tako smo naučili da predmemoriranje prijeđe dug put u poboljšanju performansi naše ASP.Net aplikacije. Ovo je uvodni članak o predmemoriranju u ASP.Net. Ima još toga za istražiti. Preporučuje se saznati više o predmemoriranju radi daljnjeg poboljšanja performansi aplikacije.

Preporučeni članak

Ovo je vodič za Caching u ASP.NET-u. Ovdje smo raspravljali o Uvodu u predobrovanje u ASP.NET-u i njegovom radu zajedno s vrstama predmemoriranja. Možete i proći naše druge predložene članke da biste saznali više -

  1. ASP.NET Framework
  2. ASP.Net provjere valjanosti
  3. Karijera u ASP.NET-u
  4. .NET pitanja za intervju

Kategorija: