Inleiding tot caching in ASP.NET

Caching in ASP.NET is de mogelijkheid om een ​​webpagina of gegevens in het geheugen op te slaan voor snelle toegang. In ASP.NET hoeft u de server niet telkens opnieuw voor hetzelfde antwoord te raken. Bewaar het in het computergeheugen en haal het sneller op. Dit werkt natuurlijk alleen met statische gegevens, omdat dynamische gegevens variëren bij elk verzoek aan de server.

Wat is Caching in ASP.Net?

Het .Net-framework biedt ook de cachefaciliteit zodat de prestaties van uw applicatie kunnen worden verbeterd. Nu vraagt ​​u, ASP. Net wordt gebruikt voor het maken van gebruikersafhankelijke dynamische webpagina's, hoe slaat het inhoud dan op?

Laten we dit begrijpen met twee scenario's - ten eerste waar de pagina het dashboard van de gebruiker is en ten tweede waar het productvermeldingen bevat. Scenario twee is onafhankelijk van de gebruiker, de producten zijn hetzelfde bij elk verzoek aan de server en dus kan de hele pagina in de cache worden opgeslagen. Nogmaals, de prijs en beschikbaarheid van producten zijn variabel, die kunnen worden afgehandeld door de cache tijdig bij te werken. Scenario één is afhankelijk van de gebruiker, het dashboard voor de ene gebruiker is misschien helemaal niet vergelijkbaar met een andere gebruiker. Maar er zijn nog een paar componenten zoals afbeeldingen, legendes, kop- en voetteksten die in de cache kunnen worden geplaatst om de prestaties te verbeteren. ASP.Net stelt de ontwikkelaars in staat om beide soorten scenario's efficiënt in hun toepassing af te handelen.

Hoe werkt Caching in ASP.Net?

Het is erg belangrijk om het proces van ASP.Net-cache-webpagina's of -gegevens te begrijpen. Om dit te begrijpen, zouden we het .Net-compilatieproces moeten begrijpen, zodat we een goed begrip krijgen van waar en wanneer we de pagina's in de cache moeten opslaan voor optimale prestaties. ASP.Net-paginacode is samengesteld in twee fasen, de MSIL-fase en de JIT-fase. In de MSIL-fase wordt de paginacode die is geschreven in talen op hoog niveau, gecompileerd in Microsoft Intermediate Language. Dit gebeurt wanneer we ons project bouwen. De hele website of het project wordt elke keer dat we bouwen in MSIL gecompileerd. In de JIT-fase wordt de MSIL-code vervolgens door de Just In Time-compiler omgezet in native machinecode. Dit gebeurt tijdens de uitvoering van de pagina. Niet het hele project wordt echter altijd omgezet in native code. Alleen de door de gebruiker gevraagde pagina's worden tijdens de uitvoering van MSIL naar native code geconverteerd. Dit bespaart veel netwerkbandbreedte en verbetert de prestaties.

Nu, welke code moeten we in de cache opslaan, wanneer moeten we in de cache plaatsen en waar?

ASP.Net heeft een complete engine die speciaal is bedoeld voor caching. Het heeft functies zoals tijdsafhankelijkheid, bestands- en sleutelafhankelijkheid, vervaldatum, gegevensopruiming, enz. We zouden in dit artikel niet op deze details ingaan. Wat we moeten begrijpen, is dat we onze pagina's en gegevens op twee locaties kunnen opslaan in de cache om de prestaties van onze ASP.Net-applicatie te verbeteren. De eerste locatie is de sectie Paginacache die zich op de ASP.Net-server bevindt. Deze winkelpagina-uitvoercaches en paginafragmentcaches, in principe ASPX-pagina's. Wanneer een voornamelijk statische pagina wordt aangevraagd, wordt een kopie van de gegenereerde native code opgeslagen in het gedeelte Paginacache. Dit bespaart de JIT-compilatietijd tijdens volgende paginaverzoeken. De tweede locatie is de gegevenscache. Hiermee worden de gegevens opgeslagen die zijn opgehaald van de gegevensservers of andere servers. Het opslaan van een kopie van deze gegevens helpt bij het opslaan van toekomstige netwerkoproepen naar de databaseservers of andere servers van derden. Enkele voorbeelden van de in de cache opgeslagen gegevens zijn SQL Server-gegevens, XML-gegevens, JSON-gegevens, API-reacties van derden, enz.

Soorten caching in ASP.Net

1. Caching van pagina-uitvoer

Pagina-uitvoercaching betekent het cachen van de volledige uitvoer van de gevraagde pagina. Wanneer een gebruiker een ASP.Net-pagina aanvraagt, compileert de JIT-compiler de relevante MSIL-code en genereert de native code-uitvoer die moet worden verzonden als reactie op de client. Dit betekent dat elke keer dat de pagina wordt opgevraagd, de JIT-compiler de native code moet genereren. Wat als de pagina statisch van aard is? Wat als de pagina-uitvoer na elke compilatie hetzelfde is? We kunnen veel compilatietijd en bronnen besparen als we de gegenereerde native code opslaan in de Page Cache. De volgende aanvragen voor dezelfde pagina kunnen in plaats daarvan uit de cache worden opgehaald. Dit wordt aangeduid als Pagina-uitvoercaching. Om Caching van pagina-uitvoer te bereiken, moeten we de OuputCache-richtlijn in de ASP.Net-code opgeven met duur in seconden.





2. Paginafragment caching

We hebben gezien hoe we een statische pagina kunnen opslaan in de cache. Wat als de pagina dynamisch is en varieert met gebruikers? Hier komt Page Fragment Caching. Hiermee kan een ontwikkelaar specifieke delen van de pagina opslaan in de cache. Dit helpt wanneer u de koptekst en de voettekst wilt opslaan, die meestal statisch is voor elke gebruiker. Om paginafragmentcaching in ASP.Net te bereiken, moet u de fragmentcode in een afzonderlijk gebruikersbeheer inkapselen. Voeg vervolgens dezelfde OuputCache-richtlijn toe aan het gebruikersbeheer. Wanneer het gebruikersbesturingselement samen met de pagina wordt geladen, wordt een kopie ervan in de cache bewaard. Alle volgende verwijzingen naar dezelfde gebruikersbesturing op dezelfde pagina of een andere pagina zouden dus uit de cache worden opgehaald.





3. Gegevenscaching

Gegevenscaching is het mechanisme voor het opslaan van de vereiste gegevens, waartoe vaak toegang wordt verkregen, in de cache. Dit kan de prestaties van de applicatie aanzienlijk verbeteren. Dit komt omdat data caching de database round trip calls opslaat, die berucht zijn omdat ze de meeste tijd verbruiken. Wanneer vaak geopende gegevens en zelden gewijzigde gegevens in de cache worden opgeslagen, haalt de server de gegevens uit de cache op in plaats van databaseoproepen te doen. Dit kan u ook wat geld besparen, omdat databaseoproepen naar de cloud-gehoste gegevensservers u per aanvraag in rekening brengen. Data Caching in ASP.Net is op zichzelf een volwaardige engine. Om gegevenscaching op onze ASP-webpagina te bereiken, moeten we het Cache-object gebruiken.

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

Waarom hebben we Caching nodig in ASP.Net?

Na het cachingproces in ASP.Net te hebben begrepen, laten we enkele praktische voorbeelden bekijken waarin caching in realtime scenario's wordt geïmplementeerd.

  • Er is een informatieve pagina die rapporten genereert op basis van de gegevens in de database. De databasetabellen worden om de paar uur vernieuwd.
    Caching van pagina-uitvoer kan in een dergelijk scenario worden gebruikt met een duur van de cache die is ingesteld om overeen te komen met de frequentie van de taak voor het vernieuwen van gegevens.
  • Er is een pagina met verschillende tabellen en gegevens die voortdurend veranderen. De legendes en de uitleg van de gegevens blijven echter hetzelfde.
    Paginafragmentcaching kan alleen worden gebruikt om de statische legenda en verklarende gegevens te cachen.
  • Er is een gebruikersdashboard dat door de gebruiker is aangepast en grafieken en grafieken op gebruikersverzoeken genereert. De gegevens die worden gebruikt om de grafieken en diagrammen te genereren, veranderen niet vaak.
    Gegevenscaching kan worden gebruikt om de gegevens in de cache op te slaan en dynamisch door de gebruiker gevraagde grafieken en diagrammen te genereren.

Conclusie

We hebben dus geleerd dat caching een lange weg aflegt bij het verbeteren van de prestaties van onze ASP.Net-applicatie. Dit was een inleidend artikel over caching in ASP.Net. Er valt meer te ontdekken. Het wordt aanbevolen om meer te leren over caching om de prestaties van de applicatie verder te verbeteren.

Aanbevolen artikel

Dit is een handleiding voor caching in ASP.NET geweest. Hier bespreken we Inleiding tot caching in ASP.NET en het werken samen met soorten caching. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. ASP.NET Framework
  2. ASP.Net Validation Controls
  3. Carrière in ASP.NET
  4. .NET Interview Vragen