Úvod do mezipaměti v ASP.NET

Ukládání do mezipaměti v ASP.NET je schopnost ukládat webovou stránku nebo data do paměti pro rychlý přístup. V ASP.NET nemusíte znovu a znovu zasáhnout server pro stejnou odpověď. Uložte jej do paměti počítače a rychlejší načtení. To samozřejmě funguje pouze se statickými daty, protože dynamická data se mění s každým požadavkem na server.

Co je mezipaměť v ASP.Net?

Framework .NET také poskytuje možnost ukládání do mezipaměti, takže lze zlepšit výkon vaší aplikace. Nyní se ptáte, ASP. NET se používá pro vytváření uživatelsky závislých dynamických webových stránek, jak tedy ukládá obsah do mezipaměti?

Chápeme to pomocí dvou scénářů - první, kde je stránka uživatelským panelem, a druhé, kde obsahuje seznamy produktů. Druhý scénář je nezávislý na uživateli, produkty jsou stejné s každým požadavkem na server, a tak lze celou stránku uložit do mezipaměti. Cena a dostupnost produktů jsou opět variabilní, což lze řešit včasnou aktualizací mezipaměti. První scénář je závislý na uživateli, dashboard pro jednoho uživatele nemusí být vůbec podobný jinému uživateli. Stále však existuje několik komponent, jako jsou obrázky, legendy, záhlaví a zápatí, které lze uložit do mezipaměti za účelem zlepšení výkonu.

Jak Caching funguje v ASP.Net?

Je velmi důležité porozumět procesu ASP.Net cache webových stránek nebo dat. Abychom tomu porozuměli, musíme pochopit proces kompilace .Net, abychom získali spravedlivé pochopení toho, kdy a kde se mají stránky ukládat do mezipaměti pro optimální výkon. Kód stránky ASP.Net je sestaven ve dvou etapách MSIL a JIT. Ve fázi MSIL je kód stránky napsaný v jazycích vyšší úrovně kompilován do Microsoft Intermediate Language. K tomu dochází vždy, když stavíme náš projekt. Celý web nebo projekt je kompilován do MSIL pokaždé, když stavíme. Ve fázi JIT je MSIL kód převeden kompilátorem Just In Time na nativní strojový kód. K tomu dochází během provádění stránky. Ne celý projekt je však neustále převeden na nativní kód. Během provádění jsou převedeny pouze stránky požadované uživatelem z MSIL na nativní kód. Šetří to spoustu síťové šířky pásma a zvyšuje výkon.

Který kód bychom nyní měli ukládat do mezipaměti, kdy a kdy?

ASP.Net má plně vybavený motor určený pro ukládání do mezipaměti. Má funkce, jako je časová závislost, závislost na souboru a klíči, vypršení platnosti, úklid dat atd. V tomto článku bychom se do těchto podrobností nedostali. Musíme pochopit, že můžeme stránky a data ukládat do mezipaměti na dvou místech, abychom zlepšili výkon naší aplikace ASP.Net. Prvním umístěním je sekce Page Cache, která sídlí na serveru ASP.Net. Toto ukládá výstupní mezipaměti stránky a mezipaměti fragmentů stránky, v zásadě stránky ASPX. Kdykoli je vyžadována většinou statická stránka, kopie vygenerovaného nativního kódu je uložena v sekci mezipaměť stránky. Tím se šetří čas kompilace JIT během následujících požadavků na stránku. Druhým místem je Data Cache. To ukládá data načtená z datových serverů nebo jiných serverů. Uložení kopie těchto dat pomáhá při ukládání budoucích síťových volání k databázovým serverům nebo jiným serverům třetích stran. Několik příkladů dat v mezipaměti jsou data serveru SQL, data XML, data JSON, odpovědi API třetích stran atd.

Typy mezipaměti v ASP.Net

1. Mezipaměť výstupu stránky

Mezipaměť výstupu stránky znamená uložení mezipaměti celého výstupu požadované stránky do mezipaměti. Kdykoli uživatel požádá o stránku ASP.Net, kompilátor JIT zkompiluje příslušný kód MSIL a vygeneruje výstup nativního kódu, který má být odeslán jako odpověď klientovi. To znamená, že při každém vyžádání stránky musí kompilátor JIT vygenerovat nativní kód. Co když je stránka statická? Co když je výstup stránky po každé kompilaci stejný? Pokud uložíme vygenerovaný nativní kód do mezipaměti stránky, můžeme ušetřit spoustu času a prostředků na kompilaci. Následující požadavky na stejnou stránku lze namísto toho načíst z mezipaměti. Toto se nazývá mezipaměť výstupu stránky. Abychom dosáhli mezipaměti výstupu stránky, musíme v kódu ASP.Net specifikovat direktivu OuputCache s dobou trvání v sekundách.





2. Ukládání fragmentů stránky do mezipaměti

Viděli jsme, jak ukládat statickou stránku do mezipaměti. Co když je stránka dynamická a liší se s uživateli? Přichází mezipaměť fragmentů stránek. Umožňuje vývojáři ukládat do mezipaměti konkrétní části stránky. To pomáhá, když chcete ukládat do mezipaměti záhlaví a zápatí, které je většinou statické pro každého uživatele. Chcete-li dosáhnout mezipaměti fragmentů stránek v ASP.Net, musíte zapouzdřit fragmentový kód do samostatného uživatelského ovládacího prvku. Poté do ovládacího prvku uživatele přidejte stejnou direktivu OuputCache. Když je uživatelský ovládací prvek načten spolu se stránkou, jeho kopie je udržována v mezipaměti. Všechny následné odkazy na stejný uživatelský ovládací prvek na stejné stránce nebo na jiné stránce by tedy byly načteny z mezipaměti.





3. Ukládání dat do mezipaměti

Ukládání dat do mezipaměti je mechanismus ukládání požadovaných dat, ke kterým se často přistupuje, v mezipaměti. To může výrazně zlepšit výkon aplikace. Důvodem je, že ukládání dat do mezipaměti šetří databázová zpáteční volání, která jsou známá tím, že spotřebovávají nejvíce času. Při ukládání do mezipaměti často přístupných a zřídka změněných dat server načte data z mezipaměti namísto volání databáze. To vám může také ušetřit nějaké peníze, protože volání databází na datových serverech hostovaných v cloudu vám účtuje poplatek na základě žádosti. Data Caching v ASP.Net je samo o sobě plnohodnotným motorem. K dosažení mezipaměti dat na naší webové stránce ASP musíme použít objekt Cache.

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

Proč potřebujeme Caching v ASP.Net?

Po pochopení procesu ukládání do mezipaměti v ASP.Net se podívejme na některé praktické příklady, kdy je ukládání do mezipaměti implementováno v scénářích v reálném čase.

  • K dispozici je informativní stránka, která generuje sestavy na základě dat v databázi. Databázové tabulky se obnovují každých pár hodin.
    Mezipaměť výstupu stránky lze použít v takovém scénáři s dobou trvání mezipaměti nastavenou tak, aby odpovídala frekvenci úlohy obnovení dat.
  • Stránka obsahuje několik tabulek a dat, která se neustále mění. Legendy a vysvětlení údajů však zůstávají stejné.
    Ukládání fragmentů stránky do mezipaměti lze použít pouze pro ukládání dat do statické legendy a vysvětlení.
  • K dispozici je ovládací panel uživatele, který je uživatelsky přizpůsobený a generuje grafy a grafy na základě požadavků uživatelů. Data použitá ke generování grafů a grafů se mění občas.
    Ukládání dat do mezipaměti lze použít k mezipaměti dat a dynamicky generovat uživatelsky požadované grafy a grafy.

Závěr

Zjistili jsme tedy, že ukládání do mezipaměti přichází dlouhou cestu ke zlepšení výkonu naší aplikace ASP.Net. Toto byl úvodní článek o mezipaměti v ASP.Net. Je toho více k prozkoumání. Doporučuje se dozvědět se více o ukládání do mezipaměti, aby se dále zlepšil výkon aplikace.

Doporučený článek

Toto byl průvodce k mezipaměti v ASP.NET. Zde diskutujeme Úvod do mezipaměti v ASP.NET a jeho práci spolu s typy mezipaměti. Další informace naleznete také v dalších navrhovaných článcích -

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

Kategorie: