Introduktion till cachning i ASP.NET

Caching i ASP.NET är möjligheten att lagra en webbplats eller data i minnet för snabb åtkomst. I ASP.NET behöver du inte slå på servern för samma svar om och om igen. Förvara det i datorminnet och hämta det snabbare. Naturligtvis fungerar detta bara med statisk data eftersom dynamiska data varierar med varje begäran som görs till servern.

Vad är Caching i ASP.Net?

.Net-ramverket tillhandahåller även cache-funktionen så att prestandan för din applikation kan förbättras. Nu frågar du, ASP .Net används för att skapa användarberoende dynamiska webbsidor, hur gör det att cache-innehåll?

Låt oss förstå detta med två scenarier - först där sidan är användarens instrumentpanel och för det andra där den har produktlistor. Scenario två är oberoende av användaren, produkterna är desamma med varje begäran till servern och därmed kan hela sidan cachelagras. Återigen är priset och tillgängligheten för produkter varierande, vilket kan hanteras genom att uppdatera cachen i tid. Scenario ett är beroende av användaren, instrumentpanelen för en användare kanske inte liknar en annan användare alls. Men det finns fortfarande några komponenter som bilder, legender, sidhuvuden och sidfot som kan cachelagras för att förbättra prestanda.ASP.Net gör det möjligt för utvecklarna att hantera båda typerna av scenarier effektivt i sin applikation.

Hur fungerar caching i ASP.Net?

Det är mycket viktigt att förstå processen med ASP.Net cachar webbsidor eller data. För att förstå detta, måste vi förstå .Net-sammanställningsprocessen, så att vi får en rättvis förståelse för när och var vi ska cache-sidorna för optimal prestanda. ASP.Net sidkod sammanställs i två steg MSIL-steget och JIT-steget. I MSIL-steget sammanställs sidkoden skriven på högnivåspråk till Microsoft Intermediate Language. Detta händer när vi bygger vårt projekt. Hela webbplatsen eller projektet sammanställs i MSIL varje gång vi bygger. I JIT-steget omvandlas sedan MSIL-koden till inbyggd maskinkod av kompilatorn Just In Time. Detta inträffar under körningen av sidan. Men inte hela projektet konverteras till inbyggd kod hela tiden. Endast de sidor som användaren begär konverteras från MSIL till inbyggd kod under exekveringen. Detta sparar mycket bandbredd i nätverket och förbättrar prestandan.

Nu, vilken kod ska vi cache, när ska vi cache och var?

ASP.Net har en fullständig motor dedikerad till cache. Det har funktioner som tidsberoende, fil- och nyckelberoende, giltighetstid, datafångning osv. Vi skulle inte gå in på dessa detaljer i den här artikeln. Vad vi behöver förstå är att vi kan cache våra sidor och data på två platser för att förbättra prestanda för vår ASP.Net-applikation. Den första platsen är avsnittet Page Cache som finns på ASP.Net-servern. Den här lagringssidans cacheminne och sidfragmentcacheminne, i princip ASPX-sidor. När en mestadels statisk sida begärs lagras en kopia av den genererade ursprungskoden i avsnittet Sidcache. Detta sparar JIT-sammanställningstiden under efterföljande sidförfrågningar. Den andra platsen är Data Cache. Detta lagrar data som hämtas från dataservrarna eller andra servrar. Att lagra en kopia av denna information hjälper till att spara framtida nätverkssamtal till databasservrarna eller andra tredjepartsservrar. Några exempel på cachad data är SQL Server-data, XML-data, JSON-data, tredjeparts API-svar etc.

Typer av caching i ASP.Net

1. Cache för sidoutput

Page Output Caching innebär att cache hela utgången på den begärda sidan. När en användare begär en ASP.Net-sida, sammanställer JIT-kompilatorn den relevanta MSIL-koden och genererar den ursprungliga kodutgången som ska skickas som ett svar till klienten. Detta innebär att JIT-kompilatorn måste generera den inbyggda koden varje gång sidan begärs. Vad händer om sidan är statisk? Vad händer om sidoutgången är densamma efter varje sammanställning? Vi kan spara mycket sammanställningstid och resurser om vi lagrar den genererade ursprungskoden i Page Cache. De efterföljande förfrågningarna för samma sida kan hämtas från cachen istället. Detta benämns sidoutputcache. För att uppnå cache för sidoutput måste vi ange OuputCache-direktivet i ASP.Net-koden med varaktighet i sekunder.





2. Cache för sidfragment

Vi har sett hur man cachear en statisk sida. Vad händer om sidan är dynamisk och varierar med användare? Här kommer Page Fragment Caching. Det gör det möjligt för en utvecklare att cache-specifika delar av sidan. Detta hjälper när du vill cache huvudet och sidfoten som mestadels är statisk för alla användare. För att uppnå cache i sidfragment i ASP.Net måste du kapsla fragmentkoden i en separat användarkontroll. Lägg sedan till samma OuputCache-direktiv i användarkontrollen. När användarkontrollen laddas tillsammans med sidan behålls en kopia av den i cachen. Således skulle alla efterföljande referenser till samma användarkontroll på samma sida eller en annan sida hämtas från cachen.





3. Data Caching

Data Caching är mekanismen för att lagra nödvändig data, som ofta nås, i cache. Detta kan dramatiskt förbättra applikationens prestanda. Detta beror på att datacaching sparar databas tur-retur-samtal, vilket är kända för att konsumera mest tid. När ofta åtkomna och sällan ändrade data cachas, hämtar servern data från cachen istället för att göra databassamtal. Detta kan också spara lite pengar eftersom databassamtal till de moln-värd dataservrar debiterar dig per begäran. Data Caching i ASP.Net är en fullfjädrad motor i sig. För att uppnå datacache i vår ASP-webbsida måste vi använda Cache-objektet.

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

Varför behöver vi cache i ASP.Net?

Efter att ha förstått cacheprocessen i ASP.Net, låt oss titta på några praktiska exempel där caching implementeras i realtidsscenarier.

  • Det finns en informativ sida som genererar rapporter baserade på data i databasen. Databastabellerna uppdateras med några timmar.
    Sidoutputcache kan användas i ett sådant scenario med en cacheuppsättningstid som passar frekvensen för datauppdateringsjobbet.
  • Det finns en sida som visar flera tabeller och data som ständigt förändras. Legenderna och förklaringen av uppgifterna förblir dock desamma.
    Sidfragment Caching kan endast användas för att cache de statiska legenderna och förklaringsdata.
  • Det finns en användardashboard som är användaranpassad och genererar grafer och diagram på användarbegäranden. Data som används för att generera grafer och diagram ändras sällan.
    Datacachelagring kan användas för att cachera data och dynamiskt generera användare begärda diagram och grafer.

Slutsats

Således har vi lärt oss att caching kommer långt i att förbättra prestandan för vår ASP.Net-applikation. Detta var en inledande artikel om cachning i ASP.Net. Det finns mer att utforska. Det rekommenderas att lära sig mer om cache för att ytterligare förbättra applikationens prestanda.

Rekommenderad artikel

Detta har varit en guide till Caching i ASP.NET. Här diskuterar vi Introduktion till cachning i ASP.NET och dess arbete tillsammans med typer av cachning. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. ASP.NET Framework
  2. ASP.Net Valideringskontroller
  3. Karriär i ASP.NET
  4. .NET Intervjufrågor

Kategori: