Der effiziente und konsistente Umgang mit Daten ist zu einer der größten Herausforderungen der Moderne geworden. Webanwendungen, die ständig hohe Transaktionsdaten verarbeiten, mangelt es an Leistung und Skalierbarkeit. Glücklicherweise können Sie Caching einführen, um solche Situationen zu bewältigen und die erheblichen Kosten zu vermeiden, die durch häufige Netzwerkausflüge entstehen.
Während der Verwendung eines Caches muss die Anwendung jedoch mit zwei Datenquellen umgehen, was den Anwendungscode verkomplizieren und weitere Leistungsverzögerungen verursachen kann. Wie im Falle eines Cache-Fehlschlags wird eine Netzwerkreise zur Datenbank erforderlich, um die erforderlichen Daten zu erhalten und sie in den Cache zu füllen. Um den Anwendungscode zu vereinfachen und die mit den Netzwerkfahrten verbundene Latenzzeit zu reduzieren, NCache bietet einen benutzerdefinierten Datenquellenanbieter namens Read-Through. Dieser Anbieter interagiert im Namen Ihrer Anwendung mit der Datenbank, um die erforderlichen Daten aus der Datenquelle abzurufen und den Cache in einem einzigen Vorgang für die aktuelle und zukünftige Verwendung zu füllen.
Was ist Durchlesen?
Read-Through ist ein angepasster Datenquellenanbieter, über den Sie dem Cache mitteilen, wie und wann er Daten aus der Datenbank abrufen muss. Read-Through interagiert im Namen Ihrer Anwendung mit Ihrer Datenquelle und erspart ihr Laufzeit-Datenbankausflüge, wodurch die Leistung der Anwendung verbessert wird.
Verwenden von Read-Through mit NCache
Wenn beim Read-Through-Caching ein Cache-Mißerfolg auftritt, NCache wird Ihren Provider anrufen, um Daten auf den Get-Aufruf zu laden. In geclusterten Caches, an denen mehrere Server beteiligt sind, wird der ReadThrough-Anbieter auf allen Cache-Serverknoten aktiviert (initialisiert). Read-Through-Operationen werden jedoch gemäß der verwendeten Topologie durchgeführt.
Zusammen mit ReadThrough, NCache bietet auch die Möglichkeit von erzwungenes Durchlesen. Wenn erzwungenes Durchlesen aktiviert ist, ignoriert Ihr Anbieter die Daten im Cache und ruft die Daten zwangsweise aus der Datenquelle ab. Daher werden die Daten nicht im Cache überprüft und direkt von der Datenquelle abgerufen.
NCache bietet mehrere Möglichkeiten, Ihren Cache aktuell und aktuell zu halten Ablauf der Daten Ist einer von ihnen. Aber der Ablauf allein kann zu Leistungsverzögerungen führen, und hier ist der Punkt Durchlesen In einem E-Commerce-Geschäft werden beispielsweise Hunderte von Produkten zwischengespeichert, auf einige wird häufig zugegriffen - der Rest der zwischengespeicherten Elemente bleibt nur dort und verbraucht Cache-Speicher.
Durch die Verwendung von Expiration können Sie das Element nach einer bestimmten Zeit oder der Häufigkeit, mit der darauf zugegriffen wurde, ungültig machen. Es besteht jedoch die Möglichkeit, dass ein Element irgendwann abgelaufen ist, die Anwendung jedoch genau dieses Element anfordert. In einem solchen Fall muss die Anwendung das Element aus der Datenbank abrufen und es dann dem Cache hinzufügen. Dieser Runtime-Datenbank-Trip kann zu gewissen Verzögerungen führen und somit die Leistung der Anwendung beeinträchtigen.
Um diese Leistungsverzögerung zu vermeiden, ist Read-Through zusammen mit dem ResyncOptions -Eigenschaft ruft automatisch jedes mit dem Resync-Flag konfigurierte Element in dem Moment ab, in dem es aus dem Cache abläuft. Dadurch wird der Cache immer aktuell gehalten, Cache-Fehlschläge werden reduziert und Runtime-Datenbankauslösungen vermieden.
In ähnlicher Weise können Abhängigkeiten auch eine großartige Möglichkeit sein, die Daten im Cache konsistent zu halten. Insbesondere in Szenarien, in denen der Benutzer die Daten mit der Datenbank synchron halten möchte, sodass bei jeder Aktualisierung der entsprechenden Daten in der Datenbank der Cache informiert wird und die entsprechenden Daten automatisch ungültig macht. Auf diese Weise bleiben die Daten im Cache frisch und alle Operationen verwenden den aktualisierten Datensatz.
Bedeutung von Read-Through
Insbesondere die folgenden Umstände sollten Sie dazu ermutigen, die Anbieter von Read-Through-Datenquellen zu nutzen:
Vereinfachter Anwendungscode
Read-Through implementiert Anwendungscode mit dem „Separation of Concerns“-Prinzip, um diese Vereinfachung zu erreichen. Nach der Bereitstellung des Read-Through erfolgt die gesamte Kommunikation mit der Datenbank über die Datenzugriffsschicht. Es liegt nun in der Verantwortung des Caches, die erforderlichen Daten bereitzustellen und den Cache mit der Datenbank zu synchronisieren.
Verbesserte Lese-Skalierbarkeit
Diese Funktion mit der ResyncOptions-Eigenschaft verbessert auch die Leseskalierbarkeit, indem das Cache-Element immer verfügbar und aktualisiert bleibt. Es kann viele Situationen geben, in denen a Cache-Element läuft ab und die Datenbank sieht sich unzähligen Anfragen von Benutzer-Threads gegenüber.
Diese Situation, gepaart mit den Millionen zwischengespeicherten Elementen und Tausenden von parallelen Benutzeranfragen, führt zu einer spürbar höheren Belastung der Datenbank. Glücklicherweise hält Read-Through zusammen mit ResyncOptions das Cache-Element im Cache, während es die neueste Kopie davon aus der Datenbank abruft, es aktualisiert dann das Cache-Element, wodurch verhindert wird, dass die Anwendung für diese Cache-Elemente in die Datenbank geht die Datenbankbelastung auf ein Minimum.
Hohe Datenverfügbarkeit und Konsistenz im Cache
Read-Through stellt eine hohe Datenverfügbarkeit und Konsistenz im Cache sicher, indem der Cache automatisch aktualisiert wird. NCache Der mit ResyncOptions angegebene Read-Through-Anbieter lädt das Objekt unmittelbar nach Ablauf oder jeder anderen Änderung der entsprechenden Daten in der Datenbank neu. Dadurch wird verhindert, dass Cache-Daten jemals veraltet werden.
Möglichkeiten zur Leistungsoptimierung mit Read-Through
Read-Through hält nicht nur Ihren Cache konsistent, sondern verbessert auch die Leistung Ihrer Anwendung, indem es Ihnen ermöglicht wird Cache-Elemente in großen Mengen, wodurch kostspielige Datenbankaufrufe und Netzwerkreisen eingespart werden.
Darüber hinaus kann Read-Through eine ausgezeichnete Alternative zum Zwischenspeichern sein. Abgesehen vom Cache ruft die Anwendung Daten aus der Datenquelle ab und aktualisiert den Cache, was die Verantwortlichkeit der Anwendung erhöht, den Anwendungscode verkompliziert und die Leistung der Anwendung beeinträchtigt.
Zusammenfassung
NCacheDer Read-Through-Datenquellenanbieter von verbessert die Leistung Ihrer Anwendung und gewährleistet eine hohe Datenverfügbarkeit. Read-Through vereinfacht auch Ihren Anwendungscode, indem Codeblöcke für die Kommunikation mit der Datenquelle eliminiert werden, und es interagiert im Namen Ihrer Anwendung mit der Datenbank. Wenn Sie also Evergreen-Cache-Daten möchten, zögern Sie nicht, sie zu bekommen NCache60 Tage kostenlose Testversion.