NCache Verteilte Caching-Funktionen

Cache-Abhängigkeit für das Beziehungsmanagement

NCache verfügt über eine Cache-Abhängigkeitsfunktion, mit der Sie relationale Daten mit Eins-zu-Eins-, Eins-zu-Viele- und Viele-zu-Viele-Beziehungen zwischen Datenelementen verwalten können. Mit der Cache-Abhängigkeit können Sie die Datenintegrität im verteilten Cache wahren.

Mit der Cache-Abhängigkeit können Sie angeben, dass ein zwischengespeichertes Element von einem anderen zwischengespeicherten Element abhängt. Wenn dann das zweite zwischengespeicherte Element jemals von einer Anwendung aktualisiert oder entfernt wird, wird das erste davon abhängige Element automatisch aus dem Cache entfernt NCache. Mit der Cache-Abhängigkeit können Sie auch mehrstufige Abhängigkeiten angeben.

Erfahren Sie mehr über Cache-Abhängigkeiten.

Cache-Abhängigkeit

Datenbank Synchronisierung

NCache bietet eine Funktion, die Ihren Cache automatisch mit Ihrer Datenbank synchronisiert. Dadurch wird sichergestellt, dass die Daten im Cache immer aktuell sind und keine Probleme mit der Datenintegrität auftreten. Sie können die Datenbanksynchronisierung entweder basierend auf vom Datenbankserver ausgegebenen Ereignisbenachrichtigungen oder durch Abfragen konfigurieren.

Die ereignisbasierte Synchronisierung erfolgt unmittelbar und in Echtzeit, kann jedoch recht gesprächig werden, wenn Sie die Daten in der Datenbank sehr häufig aktualisieren.

Die Abfrage ist tatsächlich viel effizienter, da sie in einem Abruf erfolgt NCache kann Hunderte und sogar Tausende von Zeilen synchronisieren. Die Abfrage erfolgt jedoch nicht sofort und erfolgt normalerweise mit einer Verzögerung von einigen Sekunden. Das Abfrageintervall ist jedoch konfigurierbar.

Erfahren Sie mehr über Datenbanksynchronisierung.

Datenbank Synchronisierung

Parallele SQL-ähnliche Abfrage, LINQ und Tags

NCache bietet mehrere Möglichkeiten für die Suche nach Objekten im verteilten Cache, anstatt sich nur auf Schlüssel zu verlassen. Dazu gehören eine parallele SQL-ähnliche Abfragesprache, Tags und Gruppen/Untergruppen.

Mit einer parallelen SQL-ähnlichen Abfragesprache können Sie den Cache anhand von Objektattributen und nicht anhand der Schlüssel durchsuchen. Und diese Abfrage wird an alle Cache-Server verteilt, um sie parallel auszuführen, und die Ergebnisse werden dann konsolidiert und zurückgegeben. Dadurch können Sie eine Abfrage wie „Alle Kundenobjekte finden, deren Stadt San Francisco ist“ ausgeben. Von .NET-Anwendungen aus können Sie LINQ auch verwenden, um den verteilten Cache einschließlich Lambda-Ausdrücken zu durchsuchen.

  public class Program
  {
      public static void Main(string[] args)
      {
          NCache.InitializeCache("myReplicatedCache");
          String query = "SELECT NCacheQuerySample.Business.Product WHERE this.ProductID > 100";
          // Fetch the keys matching this search criteria
          ICollection keys = NCache.Cache.Search(query);
          if (keys.Count > 0)
          {
              IEnumerator ie = keys.GetEnumerator();
              while (ie.MoveNext())
              {
                  String key = (String)ie.Current;
                  Product prod = (Product)NCache.Cache.Get(key);

                  HandleProduct(prod);
                  Console.WriteLine("ProductID: {0}", prod.ProductID);
              }
          }
          NCache.Cache.Dispose();
      }
  } 

Tags und Gruppen/Untergruppen

Tags und Gruppen/Untergruppen bieten verschiedene Möglichkeiten zum Gruppieren zwischengespeicherter Elemente. Tags bieten eine Viele-zu-Viele-Gruppierung, bei der ein Tag mehrere zwischengespeicherte Elemente enthalten kann und ein zwischengespeichertes Element zu mehreren Tags gehören kann. Und Gruppe/Untergruppe ist eine hierarchische Möglichkeit, zwischengespeicherte Elemente zu gruppieren. Sie können nach Tags auch in einer SQL-ähnlichen Abfragesprache suchen.

Erfahren Sie mehr über verschiedene Möglichkeiten, den verteilten Cache abzufragen.

Durchlesen, Durchschreiben und automatische Aktualisierung

Vereinfachen und skalieren Sie Ihre Anwendung, indem Sie einen Teil des Datenzugriffscodes in den verteilten Cache-Cluster verschieben. NCache Bietet einen Durchlese- und Durchschreibmechanismus, der es dem Cache ermöglicht, Daten direkt in Ihre Datenquelle und Datenbank zu lesen und zu schreiben.

Sie implementieren IReadThruProvider und IWriteThruProvider Schnittstellen und registrieren Sie dann Ihren Code beim Cache-Cluster. Ihr Code wird auf alle Cache-Server kopiert und wann aufgerufen NCache muss auf Ihre Datenquelle und Datenbank zugreifen.

Sie können das Durchlesen mit Abläufen und Datenbanksynchronisierung kombinieren, um es zu aktivieren NCache um eine automatische Aktualisierung durchzuführen und bei Bedarf automatisch eine neue Kopie Ihrer Daten neu zu laden.

See durchlesen und durchschreiben für weitere Einzelheiten.

Laufzeitdatenfreigabe über Messaging

NCache bietet eine leistungsstarke Plattform für die gemeinsame Nutzung von Laufzeitdaten und Messaging, die extrem schnell, skalierbar und in Echtzeit ist.

NCache ermöglicht den Datenaustausch in Echtzeit mithilfe von Ereignisbenachrichtigungen. Es gibt drei Arten von Ereignissen, die Anwendungen für die Zusammenarbeit nutzen können.

Erstens handelt es sich um zwischengespeicherte Elemente, bei denen Anwendungen Interesse an bestimmten zwischengespeicherten Elementen registrieren und benachrichtigt werden, wenn diese aktualisiert oder entfernt werden.

Zweitens gibt es von der Anwendung generierte Ereignisse, die Ihrer Anwendung die Verwendung ermöglichen NCache als Plattform zur Ereignisverbreitung und zur Auslösung benutzerdefinierter Ereignisse NCache Cluster. NCache Leitet diese Ereignisse dann an andere Clientanwendungen weiter, die Interesse an diesen benutzerdefinierten Ereignissen gezeigt haben.

Schließlich NCache ermöglicht es Ihnen, separat benachrichtigt zu werden, wenn etwas hinzugefügt, aktualisiert oder entfernt wird.

Erfahren Sie mehr über Laufzeitdatenfreigabe.

Kompakte Serialisierung

NCache bietet einen extrem schnellen Objektserialisierungsmechanismus namens Compact Serialization, für dessen Verwendung keine Codeänderung Ihrerseits erforderlich ist.

Diese Serialisierung ist schneller, da zur Laufzeit keine Reflexion verwendet wird. Und die serialisierten Objekte sind kompakter als die reguläre Serialisierung, da keine stringbasierten langen Typnamen gespeichert werden, sondern NCache registriert alle Typen und speichert nur Typ-IDs.

Und das Beste ist: Es ist keine Codeänderung Ihrerseits erforderlich, denn NCache generiert zur Laufzeit einmal Serialisierungscode und verwendet ihn immer wieder. Das Endergebnis ist eine spürbare Steigerung der Anwendungsleistung.

Was macht man als nächstes?

© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.