Úvod do medzipamäte v ASP.NET

Vyrovnávacia pamäť v ASP.NET je schopnosť ukladať webovú stránku alebo údaje do pamäte pre rýchly prístup. V ASP.NET nemusíte znova a znova zasiahnuť server pre rovnakú odpoveď. Uložte ho do pamäte počítača a rýchlejšie ho načítajte. Toto samozrejme funguje iba so statickými údajmi, pretože dynamické údaje sa pri každej požiadavke na server líšia.

Čo je to cache v ASP.Net?

Framework .NET tiež poskytuje zariadenie na ukladanie do vyrovnávacej pamäte, aby sa mohol zlepšiť výkon vašej aplikácie. Teraz sa pýtate, ASP. Net sa používa na vytváranie užívateľsky závislých dynamických webových stránok, ako potom ukladá obsah do vyrovnávacej pamäte?

Pochopme to dvoma scenármi - prvý, kde stránka predstavuje informačný panel používateľa a druhý, kde obsahuje zoznamy produktov. Druhý scenár je nezávislý od používateľa, produkty sú rovnaké s každou požiadavkou na server, a tak je možné celú stránku uložiť do vyrovnávacej pamäte. Cena a dostupnosť produktov sú opäť variabilné, čo je možné zvládnuť včasnou aktualizáciou vyrovnávacej pamäte. Prvý scenár závisí od používateľa, dashboard pre jedného používateľa sa nemusí vôbec podobať inému používateľovi. Stále však existuje niekoľko komponentov, ako sú obrázky, legendy, hlavičky a päty, ktoré je možné ukladať do vyrovnávacej pamäte, aby sa zlepšil výkon.

Ako Caching funguje v ASP.Net?

Je veľmi dôležité porozumieť procesu webových stránok alebo údajov ASP.Net v pamäti cache. Aby sme tomu porozumeli, musíme pochopiť proces kompilácie .Net, aby sme získali spravodlivé pochopenie toho, kedy a kde sa majú stránky ukladať do vyrovnávacej pamäte, aby sa dosiahol optimálny výkon. Kód stránky ASP.Net je zostavený v dvoch etapách MSIL a JIT. Vo fáze MSIL je kód stránky napísaný v jazykoch vysokej úrovne kompilovaný do jazyka Microsoft Intermediate Language. Stáva sa to vždy, keď budujeme náš projekt. Celá webová stránka alebo projekt sa skompiluje do MSIL zakaždým, keď budujeme. Vo fáze JIT sa MSIL kód potom prevedie na natívny strojový kód pomocou kompilátora Just In Time. K tomu dochádza počas vykonávania stránky. Nie celý projekt sa však neustále prevádza na natívny kód. Počas vykonávania sa z MSIL na natívny kód prevedú iba stránky, ktoré požaduje užívateľ. Ušetrí sa tým veľká šírka pásma siete a zlepší sa výkon.

Ktorý kód by sme mali teraz uložiť do vyrovnávacej pamäte, kedy a kedy by sme mali ukladať do vyrovnávacej pamäte?

ASP.Net má plne vybavený motor určený na ukladanie do pamäte cache. Má funkcie, ako je časová závislosť, závislosť od súboru a kľúča, vypršanie platnosti, vyplachovanie údajov atď. V tomto článku by sme sa týchto podrobností nezaoberali. Musíme pochopiť, že naše stránky a údaje môžeme ukladať do vyrovnávacej pamäte na dvoch miestach, aby sme zvýšili výkon našej aplikácie ASP.Net. Prvým umiestnením je časť Page Cache, ktorá sa nachádza na serveri ASP.Net. Toto ukladá vyrovnávacie pamäte výstupu stránok a vyrovnávacie pamäte fragmentov stránky, v zásade stránky ASPX. Kedykoľvek sa vyžaduje väčšinou statická stránka, kópia vygenerovaného natívneho kódu sa uloží do časti Cache stránky. To šetrí čas kompilácie JIT počas nasledujúcich žiadostí o stránku. Druhým miestom je Data Cache. Týmto sa ukladajú údaje načítané z údajových serverov alebo iných serverov. Uloženie kópie týchto údajov pomáha pri ukladaní budúcich sieťových hovorov na databázové servery alebo iné servery tretích strán. Niekoľko príkladov údajov uložených do vyrovnávacej pamäte sú údaje servera SQL Server, údaje XML, údaje JSON, odpovede API tretích strán atď.

Typy medzipamäte v ASP.Net

1. Vyrovnávacia pamäť výstupnej stránky

Vyrovnávacia pamäť výstupov stránky znamená uloženie celého výstupu požadovanej stránky do vyrovnávacej pamäte. Vždy, keď užívateľ požiada o stránku ASP.Net, kompilátor JIT zostaví príslušný kód MSIL a vygeneruje výstup natívneho kódu, ktorý sa pošle ako odpoveď klientovi. To znamená, že pri každej požiadavke na stránku musí kompilátor JIT vygenerovať natívny kód. Čo ak je stránka statickej povahy? Čo ak je výstup stránky rovnaký po každej kompilácii? Ak uložíme vygenerovaný natívny kód do vyrovnávacej pamäte stránky, môžeme ušetriť veľa času a zdrojov kompilácie. Nasledujúce požiadavky na tú istú stránku je možné získať z vyrovnávacej pamäte. Toto sa nazýva medzipamäť výstupu stránky. Na dosiahnutie vyrovnávacej pamäte výstupu stránky musíme v kóde ASP.Net špecifikovať smernicu OuputCache s trvaním v sekundách.





2. Ukladanie fragmentov stránky do vyrovnávacej pamäte

Videli sme, ako ukladať statickú stránku do vyrovnávacej pamäte. Čo ak je stránka dynamická a mení sa s používateľmi? Tu prichádza medzipamäť na fragment stránky. Umožňuje vývojárom ukladať do vyrovnávacej pamäte určité časti stránky. Pomáha to, keď chcete ukladať do vyrovnávacej pamäte hlavičku a pätu, ktorá je väčšinou statická pre každého používateľa. Na dosiahnutie vyrovnávacej pamäte fragmentov stránok v ASP.Net musíte fragmentový kód zapuzdriť do samostatného užívateľského ovládača. Potom do užívateľského ovládacieho prvku pridajte tú istú smernicu OuputCache. Ak je ovládací prvok používateľa načítaný spolu so stránkou, jej kópia sa udržiava v pamäti cache. Všetky následné odkazy na ten istý užívateľský ovládací prvok na tej istej stránke alebo na inej stránke by sa teda stiahli z vyrovnávacej pamäte.





3. Ukladanie údajov do vyrovnávacej pamäte

Dátové ukladanie do vyrovnávacej pamäte je mechanizmus ukladania požadovaných údajov, ku ktorým sa často pristupuje, do vyrovnávacej pamäte. To môže dramaticky zlepšiť výkon aplikácie. Dôvodom je, že ukladanie údajov do pamäte cache šetrí databázu hovorov po ceste, ktoré sú známe tým, že spotrebúvajú najviac času. Pri ukladaní údajov do vyrovnávacej pamäte s častým prístupom a zriedka zmenených údajov server ukladá údaje z vyrovnávacej pamäte namiesto uskutočňovania databázových hovorov. To vám môže tiež ušetriť nejaké peniaze, pretože databázové hovory na dátových serveroch hostených v cloude vám účtujú poplatky na základe žiadosti. Dátové cacheovanie v ASP.Net je samo o sebe plnohodnotným motorom. Na dosiahnutie ukladania údajov do pamäte cache na našej webovej stránke ASP musíme použiť objekt Cache.

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

Prečo potrebujeme vyrovnávaciu pamäť v ASP.Net?

Po pochopení procesu ukladania do vyrovnávacej pamäte v ASP.Net sa pozrime na niekoľko praktických príkladov, keď sa ukladanie do vyrovnávacej pamäte implementuje v scenároch v reálnom čase.

  • Existuje informačná stránka, ktorá generuje správy na základe údajov v databáze. Databázové tabuľky sa obnovujú každých pár hodín.
    Caching výstupu stránky sa môže použiť v takomto scenári s dobou trvania vyrovnávacej pamäte nastavenej tak, aby zodpovedala frekvencii úlohy obnovovania údajov.
  • Existuje stránka, ktorá zobrazuje niekoľko tabuliek a údajov, ktoré sa neustále menia. Legendy a vysvetlenie údajov však zostávajú rovnaké.
    Ukladanie fragmentov stránky do vyrovnávacej pamäte sa dá použiť iba na ukladanie údajov statickej legendy a vysvetlenia do vyrovnávacej pamäte.
  • Existuje užívateľský panel, ktorý je prispôsobený používateľom a generuje grafy a grafy na základe požiadaviek používateľov. Dáta použité na generovanie grafov a grafov sa menia zriedka.
    Ukladanie údajov do vyrovnávacej pamäte sa dá použiť na ukladanie údajov do vyrovnávacej pamäte a na dynamické generovanie grafov a grafov požadovaných používateľmi.

záver

Dozvedeli sme sa teda, že ukladanie do pamäte cache je dlhá cesta pri zlepšovaní výkonnosti našej aplikácie ASP.Net. Toto bol úvodný článok o ukladaní do vyrovnávacej pamäte v ASP.Net. Je toho viac na preskúmanie. Odporúča sa dozvedieť sa viac o ukladaní do vyrovnávacej pamäte, aby sa ďalej zlepšil výkon aplikácie.

Odporúčaný článok

Toto bol návod na ukladanie do vyrovnávacej pamäte v ASP.NET. Tu diskutujeme Úvod do vyrovnávacej pamäte v ASP.NET a jeho prácu spolu s typmi vyrovnávacej pamäte. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. ASP.NET Framework
  2. ASP.Net Validation Controls
  3. Kariéra v ASP.NET
  4. .NET Interview Otázky

Kategórie: