Dienstag, Mai 14, 2019
NCache 5.0 enthält einige wichtige Funktionen im Zusammenhang mit Clustering und Caching. Die Version enthält außerdem wesentliche Leistungsverbesserungen. NCache 5.0 ist ein empfohlenes Upgrade für alle NCache Benutzer.
Im Folgenden sind einige Verbesserungen aufgeführt, die in dieser Version vorgenommen wurden:
NCache Die API wurde überarbeitet, um sie einfacher und benutzerfreundlicher zu machen, indem die Anzahl der Überladungen verschiedener Methoden reduziert wurde. Die neue API nutzt auch die neuesten Funktionen von C# und .NET Framework (Task Parallel Library, asynchrone Methoden und Generika).
Folgende Verbesserungen wurden vorgenommen NCache Messaging-Framework.
Bei dauerhaften Abonnements (benannte Abonnements) werden Nachrichten jedoch gespeichert, bis sie an ALLE oder JEDEN Abonnenten innerhalb dieses Abonnements weitergeleitet werden. Wenn ein dauerhafter Abonnent nach einer abrupten Unterbrechung der Verbindung (Verlassen ohne Unsubscribe) zurückkommt, kann er die während der Ausfallzeit veröffentlichten Nachrichten empfangen.
Allerdings werden Nachrichten nach Ablauf ihrer Gültigkeitsdauer aus dem Speicher entfernt, auch wenn sie nicht an ALLE oder an KEINEN Abonnenten zugestellt werden.
Es gibt zwei weitere Richtlinien für dauerhafte Abonnements.
-Geteilt, wobei ein Abonnement mehrere Abonnenten haben kann.
-Exklusiv, wobei dann jeweils nur ein Abonnent in einem Abonnement sein kann. Alle nicht dauerhaften Abonnements sind exklusiv.
In dieser Version wurden einige wesentliche Leistungsverbesserungen vorgenommen. Kernsubsysteme werden neu gestaltet, um eine bessere Leistung von Cache-Vorgängen zu erzielen. Zu diesen Verbesserungen gehört die Integration der neuesten Bibliotheken wie System.IO.Pipelines von Microsoft. System.IO.Pipelines ist eine neue Bibliothek, die die Durchführung von Hochleistungs-IO in .NET erleichtern soll.
Alle NCache Ereignisse verwenden jetzt intern die zuverlässigere Funktion NCachePub/Sub-Framework. Die folgenden Ereignistypen basieren jetzt auf Pub/Sub.
NCacheist nun erweitert und verfügt jetzt über Projektionen sowie eine FROM-Klausel in einer SQL-Anweisung. Zuvor gab es in der SQL-Anweisung keine Projektionen und als Ergebnis wurden vollständige Cache-Elemente zurückgegeben, die den angegebenen Kriterien entsprachen.
Es wird Unterstützung für die Suche nach Cache-Elementen nach ihrer „Gruppe“ über SQL bereitgestellt. Mit dieser Funktion können Benutzer den Cache abfragen, um Cache-Elemente für eine „Gruppe“ zurückzugeben, genau wie sie es für „Tags“ tun.
Traditionell NCache speichert Elemente im Cache als Binärdaten. Die binäre Serialisierung kann sowohl zeit- als auch speicherintensiv sein. In NCache 5.0 können Benutzer den Cache optional so konfigurieren, dass er über einen JSON-serialisierten Speicher verfügt. Die JSON-Serialisierung ist in den meisten Fällen effizient.
NCache verfügt nun über verteilte Datentypen und Datenstrukturen, die als Implementierungen der .NET-Schnittstellen bereitgestellt werden. Die folgenden Implementierungen werden bereitgestellt.
System.Collections.Generic.IList<T>
. Es erlaubt doppelte Schlüssel und bewahrt deren Reihenfolge.System.Collections.Generic.ICollection<T>
. Es erlaubt keine doppelten Schlüssel und sorgt nicht für Ordnung. DistributedHashSet verfügt über zusätzliche Methoden für Union, Intersection und Difference zweier Mengen.System.Collections.Generic.IDictionary<TKey, TValue>
. Damit können Benutzer Daten in Schlüssel-Wert-Paaren speichern. Die Reihenfolge bleibt in dieser Datenstruktur nicht erhalten.System.Collections.Generic.ICollection<T>
. Allerdings werden die in dieser Datenstruktur gespeicherten Daten im FIFO-Modell verbraucht, wie es auch bei Warteschlangen der Fall ist.Das Stoppen eines Serverknotens im Wartungsmodus führt dazu, dass redisVerteilung der Daten zwischen den verbleibenden Knoten. Dies kann je nach den Daten im Cache sehr lange dauern. Während dieser Zeit befindet sich der Cache in einem anfälligen Zustand und einige Vorgänge schlagen möglicherweise fehl oder die Ausführung dauert länger.
Mit dieser neuen Funktion bleiben die Daten im Cache erhalten, wenn ein Knoten wegen Wartungsarbeiten angehalten wird redisgewürdigt. Die Funktion ist nützlich, wenn ein Knoten im Cluster für kurze Zeit angehalten wird, um Patches oder andere Wartungsarbeiten anzuwenden.
Standortaffinität bedeutet, dass die zugehörigen Cache-Elemente auf einem Knoten bleiben. Diese Funktion kann in vielerlei Hinsicht hilfreich sein, z. B. bei schnelleren Abfragen und Massenvorgängen usw.
Lucene.NET ist eine Textsuchmaschinenbibliothek, die jedoch nicht vertrieben wird. Mit NCacheMit dem Lucene.NET SDK können Benutzer verteilte Lucene-Indizes erstellen und diese abfragen. NCacheDas Lucene.NET SDK ähnelt der Lucene.NET-Bibliothek, daher müssen Benutzer nicht viel lernen, um es zu verwenden NCacheist die DistributedLucene.NET-API.
. NET Core-basiert NCache Der Server wird auch unter Windows verfügbar sein. Bisher war es nur unter Linux verfügbar.
Hierbei handelt es sich um ein neues Lizenzschema, bei dem Lizenzen nur auf Cache-Servern aktiviert werden. Allerdings werden auch Cache-Server aktiviert, um einer bestimmten Anzahl von Clients die Verbindung mit Caches zu ermöglichen. Die Anzahl der erforderlichen Server- und Client-Lizenzen ist dieselbe wie beim Client-Server-Aktivierungsschema.
NCache Konfiguration, Verwaltung und Überwachung erfolgen über eine webbasierte Anwendung. Standardmäßig ist diese Anwendung auf allen Cache-Servern und -Clients installiert. Benutzer können über ihren Browser eine Verbindung zu jedem der Server herstellen, um ihre Cache-Cluster zu verwalten.
Die Anwendung ist ASP.NET Core basiert und daher sowohl auf Windows als auch auf Linux lauffähig ist. Diese Anwendung verfügt über alle Funktionen der Desktop-basierten Anwendung NCache Manager hatte. Desktopbasiert NCache Manager und Monitor werden eingestellt.
Die folgenden Powershell-Befehle wurden hinzugefügt;