Einführung in das Zwischenspeichern in ASP.NET

Caching in ASP.NET ist die Möglichkeit, eine Webseite oder Daten im Speicher für den schnellen Zugriff zu speichern. In ASP.NET müssen Sie den Server nicht immer wieder für dieselbe Antwort treffen. Speichern Sie es im Computerspeicher und rufen Sie es schneller ab. Dies funktioniert natürlich nur mit statischen Daten, da die dynamischen Daten bei jeder Anforderung an den Server variieren.

Was ist Caching in ASP.Net?

Das .Net-Framework bietet auch die Caching-Funktion, sodass die Leistung Ihrer Anwendung verbessert werden kann. Nun fragen Sie sich, ob ASP .Net zum Erstellen benutzerabhängiger dynamischer Webseiten verwendet wird. Wie werden dann Inhalte zwischengespeichert?

Lassen Sie uns dies anhand von zwei Szenarien verstehen: Erstens ist die Seite das Dashboard des Benutzers und zweitens enthält sie Produktlisten. Szenario zwei ist benutzerunabhängig, die Produkte sind bei jeder Anfrage an den Server gleich und somit kann die gesamte Seite zwischengespeichert werden. Auch hier sind der Preis und die Verfügbarkeit der Produkte variabel, was durch rechtzeitiges Aktualisieren des Caches erledigt werden kann. Szenario 1 ist benutzerabhängig. Das Dashboard für einen Benutzer ist möglicherweise überhaupt nicht mit einem anderen Benutzer vergleichbar. Es gibt jedoch noch einige Komponenten wie Bilder, Legenden, Kopf- und Fußzeilen, die zwischengespeichert werden können, um die Leistung zu verbessern. Mit ASP.Net können Entwickler beide Arten von Szenarien in ihrer Anwendung effizient handhaben.

Wie funktioniert Caching in ASP.Net?

Es ist sehr wichtig zu verstehen, wie ASP.Net Webseiten oder Daten zwischenspeichert. Um dies zu verstehen, müssen wir den .Net-Kompilierungsprozess verstehen, damit wir genau wissen, wann und wo die Seiten für eine optimale Leistung zwischengespeichert werden müssen. ASP.Net-Seitencode wird in zwei Stufen kompiliert, der MSIL-Stufe und der JIT-Stufe. In der MSIL-Phase wird der in Hochsprachen geschriebene Seitencode in Microsoft Intermediate Language kompiliert. Dies geschieht immer dann, wenn wir unser Projekt erstellen. Die gesamte Website oder das gesamte Projekt wird bei jeder Erstellung in MSIL kompiliert. In der JIT-Phase wird der MSIL-Code dann vom Just In Time-Compiler in systemeigenen Maschinencode konvertiert. Dies geschieht während der Ausführung der Seite. Es wird jedoch nicht immer das gesamte Projekt in systemeigenen Code konvertiert. Nur die vom Benutzer angeforderten Seiten werden während der Ausführung von MSIL in systemeigenen Code konvertiert. Dies spart viel Netzwerkbandbreite und verbessert die Leistung.

Welchen Code sollten wir nun zwischenspeichern, wann und wo?

ASP.Net verfügt über eine voll ausgestattete Caching-Engine. Funktionen wie Zeitabhängigkeit, Datei- und Schlüsselabhängigkeit, Ablauf, Datenbereinigung usw. werden in diesem Artikel nicht behandelt. Wir müssen verstehen, dass wir unsere Seiten und Daten an zwei Orten zwischenspeichern können, um die Leistung unserer ASP.Net-Anwendung zu verbessern. Der erste Speicherort ist der Seiten-Cache-Abschnitt, der sich auf dem ASP.Net-Server befindet. In diesem Speicher werden Seitenausgabecaches und Seitenfragmentcaches gespeichert, im Grunde genommen ASPX-Seiten. Immer wenn eine meist statische Seite angefordert wird, wird eine Kopie des generierten nativen Codes im Abschnitt Seiten-Cache gespeichert. Dies spart die JIT-Kompilierungszeit bei nachfolgenden Seitenanforderungen. Der zweite Speicherort ist der Datencache. Hier werden die von den Datenservern oder anderen Servern abgerufenen Daten gespeichert. Das Speichern einer Kopie dieser Daten hilft beim Speichern zukünftiger Netzwerkaufrufe an die Datenbankserver oder andere Server von Drittanbietern. Einige Beispiele für zwischengespeicherte Daten sind SQL Server-Daten, XML-Daten, JSON-Daten, API-Antworten von Drittanbietern usw.

Arten der Zwischenspeicherung in ASP.Net

1. Zwischenspeichern der Seitenausgabe

Page Output Caching bedeutet, dass die gesamte Ausgabe der angeforderten Seite zwischengespeichert wird. Wenn ein Benutzer eine ASP.Net-Seite anfordert, kompiliert der JIT-Compiler den entsprechenden MSIL-Code und generiert die systemeigene Codeausgabe, die als Antwort an den Client gesendet werden soll. Dies bedeutet, dass der JIT-Compiler jedes Mal, wenn die Seite angefordert wird, den systemeigenen Code generieren muss. Was ist, wenn die Seite statisch ist? Was ist, wenn die Seitenausgabe nach jeder Kompilierung gleich ist? Wir können viel Zeit und Ressourcen beim Kompilieren sparen, wenn wir den generierten nativen Code im Seiten-Cache speichern. Die nachfolgenden Anforderungen für dieselbe Seite können stattdessen aus dem Cache abgerufen werden. Dies wird als Seitenausgabecaching bezeichnet. Um das Zwischenspeichern der Seitenausgabe zu erreichen, müssen Sie die OuputCache-Direktive im ASP.Net-Code mit der Dauer in Sekunden angeben.





2. Seitenfragment-Caching

Wir haben gesehen, wie eine statische Seite zwischengespeichert wird. Was ist, wenn die Seite dynamisch ist und von Benutzer zu Benutzer variiert? Hier kommt das Seitenfragment-Caching. Es ermöglicht einem Entwickler, bestimmte Abschnitte der Seite zwischenzuspeichern. Dies ist hilfreich, wenn Sie die Kopf- und Fußzeile zwischenspeichern möchten, die für jeden Benutzer meist statisch ist. Um das Seitenfragment-Caching in ASP.Net zu erreichen, müssen Sie den Fragmentcode in einem separaten Benutzersteuerelement einkapseln. Fügen Sie dann dieselbe OuputCache-Direktive in das Benutzersteuerelement ein. Wenn das Benutzersteuerelement zusammen mit der Seite geladen wird, wird eine Kopie davon im Cache gespeichert. Somit würden alle nachfolgenden Verweise auf dasselbe Benutzersteuerelement auf derselben Seite oder auf eine andere Seite aus dem Cache abgerufen.





3. Daten-Caching

Daten-Caching ist der Mechanismus zum Speichern der erforderlichen Daten, auf die häufig zugegriffen wird, im Cache. Dies kann die Leistung der Anwendung erheblich verbessern. Dies liegt daran, dass durch das Zwischenspeichern von Daten die Roundtrip-Aufrufe der Datenbank gespart werden, die bekanntermaßen die meiste Zeit in Anspruch nehmen. Wenn häufig auf Daten zugegriffen wird und selten geänderte Daten zwischengespeichert werden, ruft der Server die Daten aus dem Cache ab, anstatt Datenbankaufrufe durchzuführen. Auf diese Weise können Sie auch Geld sparen, da für Datenbankanrufe an die in der Cloud gehosteten Datenserver Gebühren pro Anfrage anfallen. Das Zwischenspeichern von Daten in ASP.Net ist eine eigenständige Engine. Um das Zwischenspeichern von Daten in unserer ASP-Webseite zu erreichen, müssen wir das Cache-Objekt verwenden.

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

Warum brauchen wir Caching in ASP.Net?

Nachdem wir den Caching-Prozess in ASP.Net verstanden haben, wollen wir uns einige praktische Beispiele ansehen, in denen das Caching in Echtzeitszenarien implementiert wird.

  • Es gibt eine informative Seite, die Berichte basierend auf den Daten in der Datenbank generiert. Die Datenbanktabellen werden alle paar Stunden aktualisiert.
    In einem solchen Szenario kann das Seitenausgabecaching verwendet werden, wobei die Dauer des Caches an die Häufigkeit des Datenaktualisierungsjobs angepasst wird.
  • Auf einer Seite werden mehrere Tabellen und Daten angezeigt, die sich ständig ändern. Die Legenden und die Erklärung der Daten bleiben jedoch gleich.
    Das Seitenfragment-Caching kann nur zum Cachen der statischen Legende und der Erklärungsdaten verwendet werden.
  • Es gibt ein benutzerdefiniertes Benutzer-Dashboard, das auf Benutzerwunsch Grafiken und Diagramme generiert. Die Daten, die zum Generieren der Grafiken und Diagramme verwendet werden, ändern sich selten.
    Daten-Caching kann verwendet werden, um die Daten zwischenzuspeichern und vom Benutzer angeforderte Diagramme und Grafiken dynamisch zu generieren.

Fazit

Aus diesem Grund haben wir gelernt, dass das Zwischenspeichern einen wichtigen Beitrag zur Verbesserung der Leistung unserer ASP.Net-Anwendung leistet. Dies war ein einführender Artikel zum Zwischenspeichern in ASP.Net. Es gibt noch mehr zu entdecken. Es wird empfohlen, mehr über das Zwischenspeichern zu erfahren, um die Leistung der Anwendung weiter zu verbessern.

Empfohlener Artikel

Dies war eine Anleitung zum Zwischenspeichern in ASP.NET. Hier wird die Einführung in das Zwischenspeichern in ASP.NET und das Arbeiten mit Zwischenspeichertypen erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. ASP.NET Framework
  2. ASP.Net-Überprüfungssteuerelemente
  3. Karriere in ASP.NET
  4. .NET Interview Fragen