Ohne grundlegende CRUD-Operationen ist ein Cache nutzlos. Da es sich beim Cache um einen Schlüsselwertspeicher handelt, ist dies erforderlich hinzufügen, abrufen machen entfernen Zwischengespeicherte Daten die ganze Zeit. Daher machen diese schlüsselbasierten CRUD- (Create, Remove, Update, Delete) oder grundlegenden Operationen den Zugriff und die Verwendung Ihres Caches einfach.
NCache wurde aufgrund seiner Eigenschaften weithin für das verteilte Daten-Caching in Anwendungen übernommen lineare Skalierbarkeit machen hohe Verfügbarkeit. NCache stellt verschiedene CRUD-APIs bereit, um grundlegende Vorgänge für das Zwischenspeichern von Daten auszuführen. Wir werden sehen, wie einfach Sie diese Vorgänge in Ihrer E-Commerce-Anwendung verwenden können NCache zum Speichern häufig verwendeter Daten.
NCache Details Grundlegende Cache-Operationen Cache-Schlüssel und Daten
Grundlegende CRUD-Operationen
Der grundlegende Zweck eines Caches besteht darin, wie ein temporärer Datenspeicher für Ihre Anwendung zu fungieren, sodass Sie alle Daten, die Sie benötigen, an den Cache senden, anstatt eine vollständige Reise zur Datenbank zu unternehmen. Lassen Sie uns einen Rundgang durch die grundlegenden CRUD-Operationen machen, die NCache unterstützt. Hier ist eine kurze Liste dessen, was NCache bietet:
API | Beschreibung | Syntax |
Speichern | Fügt dem Cache neue Daten hinzu | Add(Schlüssel, Wert) |
Insert | Aktualisiert den Wert, wenn der Schlüssel bereits im Cache vorhanden ist, oder fügt das Element andernfalls als neu hinzu | Einfügen (Schlüssel, Wert) |
Entfernen | Entfernt den angegebenen Schlüssel aus dem Cache und gibt den Wert zurück | Entfernen (Schlüssel) |
Erhalten Sie | Ruft den Wert des bereitgestellten Schlüssels ab | Holen (Schlüssel) |
Aber warten Sie, es ist einfach kein einfacher Schlüsselwertspeicher. Neben, NCache ermöglicht Ihnen auch das Zwischenspeichern benutzerdefinierter Objekte, JSON-Objekte, Datenstrukturen und Operationen an ihnen durchführen. Somit verfügen Sie über vollständigen Speicher und eine Replikationsplattform, um grundlegende CRUD-Operationen für alle Arten von Daten mit größtmöglicher Flexibilität durchzuführen NCache.
NCache unterstützt sowohl synchrone als auch asynchrone Vorgänge. Synchrone Operationen sind entscheidend für sensible Updates, bei denen Sie sicherstellen müssen, dass der von Ihnen durchgeführte Vorgang stattgefunden hat, bevor Sie fortfahren. Mit anderen Worten, solche Operationen sind sequentiell. Auf der anderen Seite, Asynchrone Operationen sind flexibler und werden im Hintergrund ausgeführt, während die Steuerung sofort an den Client zurückgesendet wird.
Es ist wichtig, das alles zu beachten NCache SDK-Clientobjekte und -APIs sind Thread-sicher und unabhängig voneinander. Dadurch wird sichergestellt, dass die Wiederverwendung von Clientinstanzen immer sicher ist, auch über Threads hinweg.
Lassen Sie uns etwas tiefer auf die verschiedenen Arten von Operationen eingehen NCache unterstützt Sie bei der nahtlosen Bearbeitung Ihrer Daten. Hier zeige ich Ihnen, wie Sie mit grundlegenden Operationen an benutzerdefinierten Objekten experimentieren.
NCache Details Grundlegende Cache-Operationen Cache-Schlüssel und Daten
Arten von Operationen in NCache
NCache ermöglicht CRUD-Operationen für ein einzelnes Element oder eine Menge von Elementen. Unterdessen sind die unterstützten Betriebsmodi synchron und asynchron. NCache unterstützt sowohl synchrone als auch asynchrone Operationen. Lassen Sie uns verschiedene Arten von Operationen in wenig Tiefe diskutieren NCache unterstützt, damit Sie nahtlos mit Ihren Daten arbeiten können.
Atomare Operationen
Alle Operationen, die an einem einzelnen Schlüssel-Wert-Paar ausgeführt werden, werden als atomare Operationen kategorisiert. Daher erfordern solche Operationen einen Cache-Aufruf pro Element. Angenommen, Sie haben eine E-Commerce-Anwendung und möchten ein neues Produkt zum zwischengespeicherten Bestand hinzufügen, seinen Wert abrufen und aktualisieren und es dann mit aus dem Cache entfernen NCache CRUD-APIs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Pre-condition: Cache is already connected // Get product from database var product = GetProductFromDB(1001); string key = $"Product:{product.ProductID}"; // Add item in the cache. Add can be replaced with Insert depending on your requirement. CacheItemVersion version = cache.Add(key, product); // Retrieve cached item from the cache var retrievedItem = cache.Get(key); // Update the price of retrieved product retrievedItem.Price = 500; cache.Insert(key, retrievedItem); // Remove item from the cache cache.Remove(key); |
Es ist wichtig zu beachten, dass derselbe Schlüssel nicht erneut hinzugefügt werden kann, wenn er bereits im Cache vorhanden ist. Dazu können Sie Insert verwenden, das den Wert für den vorhandenen Schlüssel überschreibt.
NCache Details Grundlegende Cache-Operationen Cache-Schlüssel und Daten
Massenoperationen
Da Sie möglicherweise mehrere Vorgänge gleichzeitig in Ihrer Anwendung ausführen müssen, NCache ermöglicht es Ihnen, CRUD-Operationen für einen Datenblock in einem Aufruf auszuführen. Diese Vorgänge sind darauf ausgelegt, eine bessere Leistung zu erzielen, da sie Netzwerkaufrufe an den Remote-Server reduzieren, indem sie in einem einzigen Cache-Aufruf die größtmögliche Leistung erbringen.
Wenn Sie beispielsweise 100 Produktelemente im Cache hinzufügen, aktualisieren oder löschen möchten, können Sie dies über einen einzigen Massenaufruf an tun hinzufügen, Aktualisierung or entfernen diese Elemente, anstatt die relevanten APIs 100 Mal aufzurufen. Sehen wir uns an, wie Sie dies mit einem einzigen Massenaufruf erreichen können.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Pre-condition: Cache is already connected // Get products from database Product[] products = FetchProductsFromDB(); IDictionary<string, CacheItem> dictionary = new Dictionary<string, CacheItem>(); foreach (var prod in products) { string key = $"Product:{prod.ProductID}"; var cacheItem = new CacheItem(prod); dictionary.Add(key, cacheItem); } // Inserting items in the cache IDictionary result = cache.InsertBulk(dictionary); // Retrieve items in bulk IDictionary<string, Product> retrievedItems = cache.GetBulk(keys); // Perform business logic here // Remove a chunk of keys from the cache cache.RemoveBulk(keys); |
NCache Details Grundlegende Cache-Operationen Cache-Schlüssel und Daten
Synchrone Operationen
Synchrone Operationen sind wichtig für sensible Updates, bei denen Sie sicherstellen müssen, dass die von Ihnen durchgeführte Operation stattgefunden hat, bevor Sie fortfahren. Mit anderen Worten, solche Operationen sind sequentiell. Beispielsweise würden Sie synchrone Operationen verwenden, um die Preise Ihrer Aktie vor einem großen Ausverkauf zu aktualisieren, um sicherzustellen, dass die Preise erfolgreich aktualisiert wurden.
Diese Operationen funktionieren als blockierender Aufruf, bei dem der Client vor der weiteren Verarbeitung auf die Serverantwort auf die ausgeführte Operation warten muss. Was passiert, ist, dass Ihre Anwendung bis zu dem Zeitpunkt, an dem das Element hinzugefügt wird (oder eine Ausnahme ausgelöst wird), auf die Ausführung der Operation wartet, damit sie die Kontrolle zurückerhält. Die grundlegenden CRUD-Operationen sind standardmäßig synchron, sofern nicht anders angegeben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// Pre-condition: Cache is already connected // Get product from database var product = GetProductFromDB(1001); string key = $"Product:{product.ProductID}"; // Add CacheItem to cache CacheItemVersion version = cache.Add(key, cacheItem); // Retrieve the cached item from the cache CacheItem retrievedItem = cache.GetCacheItem(key); // Update the price of retrieved product product.Price = 500; retrievedItem = new CacheItem(product); cache.Insert(key, retrievedItem); // Remove item from the cache cache.Remove(key); |
Asynchrone Operationen
Asynchrone Vorgänge sind flexibler und werden im Hintergrund ausgeführt, während die Steuerung sofort an den Client zurückgesendet wird. Sie können diese Funktionalität in Ihrer E-Commerce-Anwendung in vollem Umfang nutzen, wenn weniger kritische Vorgänge wie das Aktualisieren der Beschreibung eines Produkts durchgeführt werden müssen. Das Ändern der Basisinformationen muss nicht unbedingt nachverfolgt werden, jedenfalls nicht mit hoher Priorität.
NCache unterstützt mehrere asynchrone Überladungen, um atomare Operationen auszuführen. Mal sehen, wie Sie es verwenden können AddAsync
, InsertAsync
und RemoveAsync
APIs zum asynchronen Hinzufügen, Aktualisieren und Entfernen der Daten Ihrer Anwendung.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Pre-condition: Cache is already connected // Get product from database var product = GetProductFromDB(1001); string key = $"Product:{product.ProductID}"; // Add item in the cache. AddAsync can be replaced with InsertAsync depending on your requirement. Task task = cache.AddAsync(key, product); // Wait before fetching data // Retrieve cached item from the cache var retrievedItem = cache.Get(key); // Update the price of retrieved product retrievedItem.Price = 500; // Add Product object to cache cache.InsertAsync(key, retrievedItem); // Remove item from the cache cache.RemoveAsync(key); |
Zusammenfassung
Da Sie jetzt mit den grundlegenden CRUD-Operationen vertraut sind NCachekönnen Sie sie ganz einfach nutzen, um die Leistung Ihrer verteilten Anwendungen zu verbessern. Was Sie mit Ihrer Datenbank gemacht haben, kann jetzt einfach in Ihren Cache repliziert werden und das Ergebnis ist ein verbessertes Benutzererlebnis aufgrund der deutlich verkürzten Antwortzeit. Du kannst das ... sehen Erweiterte Funktionen von NCache für den umfassenden Einsatz in Ihren Web-Apps, Microservices, Bibliotheken und Konsolenanwendungen. Also, herunterladen NCache Jetzt mit der kostenlosen Testversion, um mehr zu entdecken!