Die folgenden neuen Funktionen werden in bereitgestellt NCache v5.3 SP1.
Die folgenden neuen Funktionen werden in bereitgestellt NCache v5.3.
Aussichten für NCache Images verfügbar auf Azure und AWS, die Registrierung zur kostenlosen Evaluierung von NCache wird unterstützt in NCache Web-Manager. Wenn eine Maschine weder mit Evaluierungs- noch mit Lizenzschlüssel registriert ist, wird die NCache Der Standardbildschirm von Web Manager führt Benutzer zu einem Registrierungsprozess, um entweder ihre Bewertung zu starten oder ihre Boxen zu aktivieren.
Das Merkmal 'NCache NoSQL' veröffentlicht in 5.3 wurde umbenannt in 'NCache Beharrlichkeit'. Die Funktionsweise der Funktion bleibt gleich, die zusätzlichen Anbieter werden jedoch entfernt. Das NCache Persistenz kann jetzt nur mit dem eingebauten dateisystembasierten Speicher verwendet werden.
Alle NoSQL verwandte PowerShell-Cmdlets wurden ebenfalls umbenannt.
Für wird ein separates NuGet-Paket veröffentlicht NCache Gespeicherte CLR-Prozeduren. Dies hilft beim einfachen Erstellen von gespeicherten CLR-Prozeduren, die verwenden NCache API.
Anstatt die in client.ncconf angegebenen Konfigurationen zu verwenden, können Benutzer signalr-Anwendungen zwingen, die in den Dateien web.config oder appsettings.json der Anwendung angegebenen Verbindungsoptionen zu verwenden. Falls angegeben, verwendet die Anwendung diese Einstellungen.
Der Aktualisierungsintervallwert kann jetzt in Sekunden statt in Minuten eingestellt werden. Die Änderung wurde vorgenommen, um Szenarien zu berücksichtigen, in denen die Auffrischung in einem Intervall von weniger als einer Minute ausgeführt werden sollte.
NCache bietet eine neue Funktion namens NoSQL Database Dabei ist die gesamte Datenbank In-Memory und verteilt, wird aber auch in Echtzeit in einem permanenten Speicher gespeichert (im Gegensatz zu anderen Produkten, die regelmäßig Snapshots erstellen oder nur ein Transaktionsprotokoll speichern). Diese Echtzeit-Persistenz stellt sicher, dass Ihre In-Memory-Daten immer synchron sind und nie verloren gehen, selbst wenn Sie alle neu starten NCache Servers
NCache NoSQL Database ist superschnell und skalierbar, da es zu 100 % In-Memory und verteilt ist. Zur selben Zeit, NCache NoSQL Database speichert Daten wie alle anderen Datenbanken, sodass Sie keine Daten verlieren, selbst wenn alle NCache Server werden heruntergefahren.
Sie können sich dafür entscheiden, Sie zu beharren NoSQL Database in NCache Ausdauer, die superschnell und sehr zuverlässig ist. Oder, wenn Sie es vorziehen, können Sie die beibehalten NoSQL Database in einer der führenden Drittdatenbanken. NCache bietet die folgenden Echtzeit-Persistenzoptionen For NoSQL Database:
Sie können verwenden NCache NoSQL Database :
Anmerkungen: Sie können diese Funktion in .NET-, Java-, Node.js- und Python-Anwendungen verwenden.
NCache bietet Distributed Lucene für .NET-Anwendungen mit Lucene für die Volltextsuche. Verteiltes Lucene nimmt den Standard-Lucene.NET-Index und macht ihn verteilt, sodass Sie den Lucene-Index auf mehrere skalieren können NCache Server auch zur Laufzeit. Dadurch können Sie nicht nur Ihre Indexgröße erhöhen, sondern auch die Transaktionskapazität Ihrer Anwendung, da Ihre Anwendung jetzt mit mehreren kommuniziert NCache Server für Lucene.
Hier sind einige Highlights der Distributed Lucene-Funktion:
NCache bietet jetzt einen leistungsstarken Python-Client sowohl für Windows als auch für Linux. Dieser Python-Client verfügt über alle clientseitigen API-Funktionen of NCache die traditionell .NET- und Java-Clients genossen.
NCache stellt Import- und Export-Tools als PowerShell-Cmdlets bereit. Mit diesen Tools können Sie JSON-/CSV-Daten in die importieren oder exportieren NoSQL Database oder daraus. Auf diese Weise können Sie alle oder Teile Ihrer Datei extrahieren NoSQL database.
Wenn Sie ausgewählt haben NCache Persistenzanbieter für NoSQL Database, dann werden alle Daten in mehreren Dateien gespeichert, die sich in einem freigegebenen Netzwerkordner befinden (basierend auf dem UNC-Pfad).
Sie können für diese Daten normale Tools zum Sichern/Wiederherstellen des Dateisystems verwenden. Beachten Sie dies jedoch bitte NCache bietet Ihnen ein Admin-Tool (als PowerShell-Cmdlet) zum kurzzeitigen Suspendieren NCache schreibt in den dauerhaften Speicher, während Sie Ihre Dateisystemsicherung durchführen. Alle Schreibvorgänge werden jedoch in die verteilte In-Memory-Kopie der Daten vorgenommen und protokolliert, sodass Sie die Schreibvorgänge in den Persistenzspeicher aktivieren können, wenn Sie mit Ihrer Sicherung fertig sind. Und dann werden alle diese Schreibvorgänge auf die gleiche Weise auf den Persistenzspeicher angewendet, als ob sie in Echtzeit wären.
Obwohl Ihnen ein Online-Sicherungsmechanismus zur Verfügung gestellt wird, wird empfohlen, dass Sie für die Sicherungen eine Zeit mit geringem Datenverkehr auswählen. Künftig, NCache bietet eine vollständige Online-Backup-Funktion für NCache Persistenzanbieter von NoSQL Database wo Sie sogar während des Backups weiterschreiben können.
Wenn Sie jedoch SQL Server oder MongoDB als Speicheroption ausgewählt haben, können Sie die Sicherungs-/Wiederherstellungstools verwenden, die von diesen Datenbanken bereitgestellt werden, einschließlich Online-Sicherung.
Wenn Sie bereits eine .NET-Anwendung haben, die Lucene verwendet, besteht die Möglichkeit, dass Sie einen ziemlich großen Lucene-Index erstellt haben. NCache gibt Ihnen die Möglichkeit, einen vorhandenen Lucene-Index in zu importieren NCache Verteilte Lucene in großen Mengen.
Dies ist viel schneller, als diesen Index neu zu erstellen, indem Dokumente daraus gelesen und diesen Dokumenten hinzugefügt werden NCache Verteilter Lucene-Index. Der Grund dafür ist der NCache Verteiltes Lucene kopiert Daten auf Massendateiebene und nicht auf Dokumentebene.
Sie können die folgenden Arten des Imports von Lucene-Indizes durchführen.
Beide oben genannten Optionen zum Importieren von Lucene-Indizes sind über PowerShell-Cmdlets möglich.
NCache partitioniert und speichert den Lucene-Index in einer verteilten Umgebung und auf jeder NCache Server. Und alle Indizes werden als mehrere Dateien gespeichert. Daher können Sie auf ihnen reguläre Dateisystem-Backup-/Wiederherstellungstools verwenden. Allerdings in der aktuellen Version von NCache, wird kein Online-Backup bereitgestellt, sodass Sie eine Ausfallzeit benötigen, um ein korrektes Backup sicherzustellen. Wenn Ihre Anwendung den Distributed Lucene-Index jedoch nicht zur Laufzeit aktualisiert, können Sie auch Online-Sicherungen durchführen.
Das Wiederherstellen eines Distributed Lucene-Index ist dasselbe wie das Wiederherstellen von Dateisystemdateien und daher möglich. Möglicherweise müssen Sie Ihren Cache mit denselben Verteilungskonfigurationsinformationen neu starten, die Sie hatten, als Sie die Sicherung durchgeführt haben.
NCache unterstützt jetzt vollständig .NET 6.0. Alles NCache Server werden in .NET 6.0 (bzw .NET Framework 4.8, wenn Sie diese Version heruntergeladen haben). NCache Clients sind auch .NET 6.0. Jedoch, NCache bietet auch Unterstützung für frühere Versionen von beiden .NET Core und .NET Framework für NCache Kunden.
NCache ermöglicht Ihnen jetzt die Verwendung der JSON-Serialisierung für Ihr ASP.NET / ASP.NET Core Sitzungen. Bisher war die einzige Option, die Sie hatten, die von .NET bereitgestellte binäre Serialisierung zu verwenden. Wir haben immer noch die Option „Binäre Serialisierung“, aber in .NET 6.0 ist die binäre Serialisierung standardmäßig deaktiviert und wird nicht empfohlen.
Die JSON-Serialisierung hat auch den Vorteil, dass Ihre .NET-Objekte nicht als "Serializable" gekennzeichnet sind. Bisher mussten Sie entweder Codeänderungen vornehmen, um alle Objekte als „serialisierbar“ zu markieren, oder die Funktion „Kompakte Serialisierung“ von verwenden NCache. In beiden Fällen bedeutete dies viel zusätzliche Arbeit für Sie.
Mit der JSON-Serialisierung müssen Sie nur die Konfigurationseinstellungen ändern und den Code überhaupt nicht berühren, und Sie können jetzt damit beginnen, Objekte zu verwenden, die in ASP.NET / ASP nicht serialisierbar sind.NET Core Sitzungen.
Um ein beliebiges Objektattribut einzuschließen NCache SQL-Abfragen, müssen Sie diese zuerst indizieren. Bisher bestand die einzige Möglichkeit zum Indexieren darin, einen Index als Teil von zu definieren NCache Aufbau. Das ist immer noch möglich und ein guter Weg, dies zu tun.
Jetzt können Sie Abfrageindizes jedoch programmgesteuert mit benutzerdefinierten Anmerkungen definieren. Damit haben Sie jetzt volle Unterstützung für verschiedene Möglichkeiten zum Erstellen von Abfrageindizes in NCache.
NCache unterstützt jetzt Nullable-Eigenschaften zum Erstellen eines Indexes und deren anschließende Verwendung in SQL-Abfragen. Diese Funktion wird bereitgestellt, weil .NET-Eigenschaften und -Felder nullable sind. Aber vorher NCache bot keine Unterstützung für die Suche auf der Grundlage von Nullwerten und tut es jetzt.
NCache unterstützt jetzt Geodaten-Indizes bei der Volltextsuche mit Distributed Lucene. Genau wie der reguläre Lucene-Index für die Volltextsuche verwenden auch die Geodaten-Indizes intern Lucene.NET, um Geodaten-Abfragen zu unterstützen. Das NuGet-Paket für Geodaten-Indizes ist vom NuGet-Paket für den Volltextsuchindex getrennt.
NCache unterstützt jetzt Facettensuche mit Distributed Lucene. Die facettierte Suche ist eine Technik, bei der herkömmliche Suchtechniken durch ein facettiertes Navigationssystem ergänzt werden. Dies ermöglicht dem Benutzer, die Suchergebnisse einzugrenzen, indem er mehrere Filter basierend auf einer Facettenklassifizierung der Elemente anwendet.
NCache stellt ein NuGet-Paket für Facettensuche bereit, das alle APIs enthält, die zum Ausführen von Facettensuchen erforderlich sind.
Da .NET CLR Managed Memory verwendet, verursachen Garbage Collection und Fragmentation große Leistungsprobleme in jeder Serveranwendung mit hoher Transaktionsgeschwindigkeit. NCache löste dieses Problem früher, indem es ein sehr intelligentes Objekt-Pooling implementierte und auch größere Objekte in weniger als 80 Objekte aufteilte, sodass LOH nicht häufig verwendet wird.
Diese frühere Speicheroptimierung hatte sich bereits verbessert NCache Leistung ziemlich viel für die am häufigsten verwendeten "atomaren Operationen" wie Abrufen, Einfügen, Aktualisieren, Löschen einzelner Elemente. Eine Reihe anderer Bereiche wie Massenoperationen, Abfrageindizes, SQL-Suche usw. wurden jedoch nicht vollständig auf diese Weise optimiert und führten daher zu einer häufigen Verwendung von LOH- und Gen2-Sammlungen und damit nicht zu der besten Leistung.
Nun, diese Version von NCache hat die Speicherverwaltung in all diesen Bereichen optimiert, was zu einer noch schnelleren Leistung von geführt hat NCache Überall.
Folgende Optimierungen wurden vorgenommen:
NCache wurde traditionell in einer lokalen Umgebung ausgeführt, und daher war es nicht erforderlich, https für den Zugriff zu verwenden NCache Web-Manager. Aber jetzt, da Azure, AWS und andere Clouds sehr weit verbreitet sind, entstehen immer mehr Situationen, in denen ein Benutzer möglicherweise darauf zugreifen muss NCache Web Manager über https.
NCache bietet jetzt Unterstützung für https für den Zugriff NCache Web-Manager. Standardmäßig ist es http, aber Sie können es so konfigurieren, dass es https verwendet, wenn Sie ein Zertifikat haben.
NCache hat traditionell verlangt, dass Sie angeben NCache Server basierend auf ihrer IP-Adresse und nicht auf Maschinennamen. Der Grund dafür war, dass in vielen Situationen NCache Server haben mehrere Netzwerkschnittstellenkarten (NICs) und Sie wussten nicht, welcher NIC der Computername zugeordnet wurde. Verwenden Sie daher die IP-Adresse für NCache Server und Clients ist immer noch der bevorzugte Weg.
Aber jetzt NCache bietet Ihnen die Möglichkeit, Maschinennamen anstelle von IP-Adressen anzugeben, wenn Sie dies wünschen. Sie können den Computernamen angeben, um einen Cache-Server oder einen Cache-Client zur Cache-Konfiguration hinzuzufügen. Ebenso alle Ansichten auf NCache Web Manager verwendet weiterhin standardmäßig IP-Adressen.