NCache, ein verteilter, linear skalierbarer und schneller In-Memory Schlüsselwertspeicher Ermöglicht das Zwischenspeichern von Objekten, um Datenbankausfälle zu reduzieren und höhere Lasten einfach zu skalieren. Ähnlich, Redis ist ebenfalls eine verteilte Caching-Lösung, es fehlen jedoch wichtige Funktionen wie SQL & LINQ-Unterstützung, Client-Cache (InProc) und Peer-to-Peer-Clustering usw. Für .NET Redis Client-Anwendungen, NCache stellt eine Wrapper-API bereit, die mit StackExchange identisch ist.Redis API, damit Benutzer problemlos wechseln können NCache mit minimalen Codeänderungen.
Daher besteht der eigentliche Schritt darin, etwas über die Migration zu erfahren Redis zu NCache. Dieser Blog bietet eine schrittweise Anleitung dazu, was für eine reibungslose Migration von getan werden muss Redis zu NCache.
Bedarf an NCache Wrapper für Redis für .NET und .NET Core
Stellen Sie sich nun nach allem, was oben gesagt wurde, vor: Redis Client mit einem reinen .NET/.NET Core Anwendung, die mit minimalen Codeänderungen und zusätzlichen Funktionen portieren möchte. Was sollte er tun? Verwenden NCache! Es bietet viele Funktionen und eine nahtlose Migration von Redis zu NCache.
Allerdings zur Verwendung NCache mit Ihren eigenen Redis Für eine Client-Anwendung müsste man eine ganze Menge lernen NCache, seine bereitgestellten Funktionen und dann integrieren NCache während auch andere Funktionen ausgeführt werden. Die bereitgestellte Anwendung muss immer wieder erneut getestet werden, was ein sehr kostspieliger und mühsamer Prozess wäre.
Damit NCache hat das oben genannte Problem sehr geschickt gelöst; Es wurde ein Wrapper-Over implementiert NCache API, die mit der von StackExchange identisch ist.Redis API. Dies ist der Standard-StackExchange.Redis API, aufgrund derer nur minimale Codeänderungen erforderlich sind Redis Client-Anwendung, um sie skalierbar mit zu nutzen NCache.
Wie man es nutzt NCache Wrapper für Redis Pflege-
Das Beste an der Migration von Redis zu NCache ist die Einfachheit, dass für die Migration kein Code und keine Logikänderung erforderlich ist. Der StackExchange.Redis Das Verhalten der API ist im gesamten Bereich gleich NCache integriert mit Redis Client-Anwendung.
Sie als Benutzer müssen lediglich einige Namespaces bearbeiten, um beim Herunterladen Zugriff auf den Cache zu erhalten NuGet-Paket und Ihre gesamte Bewerbung ist startklar. Der Quellcode für diesen Wrapper wird zusammen mit einer Beispielanwendung auf hochgeladen GitHub.
Schritt 1: Herunterladen NCache Redis Wrapper NuGet
NCache stellt ein NuGet-Paket zur Installation in Ihrem StackExchange.Redis Anwendung. Das NuGet-Paket enthält die client.ncconf Datei, die zum Konfigurieren des Cache-Clients für den Zugriff verwendet wird NCache Cluster vom Client-Rechner.
1 |
Install-Package NCache.StackExchange.Redis |
Schritt: 2 Fügen Sie den Namespace zu Ihrer Anwendung hinzu
Fügen Sie den folgenden Namespace in Ihren Anwendungs- und Quelldateien hinzu:
1 |
NCache.StackExchange.Redis |
Schritt 3: Verbinden Sie sich mit dem Cache und dem NCache Datenbase
Der nächste Schritt besteht darin, eine Verbindung zum Cache herzustellen ConnectionMultiplexer-Klasse welches das zentrale Objekt im StackExchange ist.Redis API, die die Details mehrerer Server verbirgt. Stellen Sie sicher, dass der Cache ausgeführt wird, damit Vorgänge reibungslos ausgeführt werden können. Sie können auch lernen wie man einen Cache erstellt aus der Schritt-für-Schritt-Anleitung NCache Dokumentation.
1 |
ConnectionMultiplexer ncache = ConnectionMultiplexer.Connect(“cacheName”); |
Genau wie NCache bietet ein ICache Schnittstelle, um eine Instanz von an zu erhalten NCache's Cache, Erhalten Sie NCacheSchnittstelle ist es, Caching durch das zu bekommen Redis Schnittstelle.
1 |
ICache cache = ncache.GetNCacheInterface(“cacheName”); |
Genau wie der Zugriff auf a Redis Datenbank, es ist sehr einfach zu bedienen NCache als Wrapper wie unten beschrieben.
1 |
var db = ncache.GetDatabase(); |
Außerdem können Sie StackExchange zusammen mit dem Rest Ihrer Anwendung weiterhin verwenden.Redis API auf die gleiche Weise wie zuvor ohne Codeänderungen.
Sobald Ihre Anwendung mit dem verbunden ist NCache Mit dem Cache-Cluster können Sie ganz einfach Vorgänge ausführen, und das ist alles, Ihr Redis Die Anwendung wird jetzt migriert NCache. Wenn Sie also nur ein paar Schritte befolgen, wird Ihr gesamtes Konto migriert Redis Anwendung auf NCache ohne Probleme.
Warum NCache Umschlag für ein Redis Klient?
Die richtigen NCache für eine Redis Die Client-Anwendung bietet Ihnen folgende Vorteile:
-
- SQL-Abfrage und LINQ: NCache Bietet SQL- und LINQ-Unterstützung für die Abfrage des Caches basierend auf Objektattributen, Gruppen/Untergruppen, Tags und benannte Tags Dadurch ist die Suche nach den von Ihnen im Cache gespeicherten Daten ganz einfach.
- Serverseitiger Code (.NET): NCache ermöglicht Ihnen die Bereitstellung serverseitiger Code zur Ausführung auf den Cache-Servern im Cluster. Es stehen umfangreiche Funktionen zur Verfügung, mit denen Sie serverseitigen Code in .NET entwickeln und bereitstellen können. Einige Funktionen sind Durchlesen, Durchschreiben und Cache-Loader.
- Den Cache frisch halten (Abhängigkeiten): NCache stellt sicher, dass Ihr Cache immer aktuell ist und Sie sich auf die Datenintegrität verlassen können. Wenn die Daten im Cache veraltet sind, werden sie sofort auf die Daten der Datenbank aktualisiert. NCache stellt eine Liste von Funktionen für diesen Zweck bereit, z Cache mit Datenbank synchronisieren und Abhängigkeiten nicht wie Redis was nur durch Ablauffristen gegeben ist.
- Cache-Leistung (Client-Cache (InProc-Geschwindigkeit)): NCache bietet Client-Cache (Near Cache), bei dem es sich im Grunde um einen lokalen Cache handelt, der sich sehr nahe an Ihrer Anwendung befindet (InProc/OutProc). Es verleiht Ihrer Anwendung InProc-Geschwindigkeit, was einen schnelleren Abruf von Objekten bedeutet.
Zusammenfassung
Um es zusammenzufassen: Was wir aus dem Blog gelernt haben, ist, wie NCache Mit dem Wrapper können Sie Ihre gesamte Datei migrieren Redis Anwendung auf NCache indem Sie eine Reihe einfacher Schritte befolgen. Sie können es problemlos verwenden NCache's Funktionen, indem Sie einfach die verwenden NCache Redis Wrapper ohne Codeänderung und das ursprüngliche StackExchange.Redis API. Es gibt noch viele andere Funktionen bereitgestellt von NCache die die Leistung Ihrer Anwendung steigern und Ihnen dabei helfen, die gewünschte Skalierbarkeit zu erreichen.
NCache Details Herunterladen NCache Editionsvergleich