Erste Operationen
Dieser Artikel behandelt die drei Key/Value-Operationen, die Sie mit Clustron Zaris am häufigsten verwenden: einen Wert speichern, ihn zurücklesen und ihn entfernen. Zusammen folgen sie einem einfachen Put-, Get-, Delete-Muster.
Dieselbe API funktioniert sowohl im In-Process- als auch im verteilten Modus, sodass der Code hier unverändert läuft, welchen Modus Ihr Store auch nutzt.
Voraussetzungen
Sie benötigen einen laufenden Store und einen verbundenen Client. Falls Sie noch keinen haben, erhalten Sie einen Client unter In-Process betreiben oder Ersten Store erstellen. Die folgenden Beispiele setzen eine Variable client aus diesen Schritten voraus.
Einen Wert speichern (Put)
Speichern Sie mit PutAsync einen Wert für einen Schlüssel. Existiert der Schlüssel bereits, wird sein Wert überschrieben.
await client.PutAsync("hello", "world");
Einen Wert lesen (Get)
Lesen Sie einen Wert mit GetAsync und geben Sie dabei den erwarteten Typ an. Der Aufruf liefert ein Ergebnis zurück, dessen Eigenschaft IsSuccess anzeigt, ob der Schlüssel gefunden wurde, und dessen Eigenschaft Value den Wert enthält, falls dies der Fall war.
var result = await client.GetAsync<string>("hello");
if (result.IsSuccess)
{
Console.WriteLine(result.Value);
}
else
{
Console.WriteLine("Key not found");
}
Einen Wert löschen (Delete)
Entfernen Sie einen Schlüssel samt Wert mit DeleteAsync.
await client.DeleteAsync("hello");
Ergebnisse verarbeiten
Die meisten Operationen liefern ein KvResult zurück. Prüfen Sie dessen Eigenschaft IsSuccess, um festzustellen, ob die Operation erfolgreich war, und lesen Sie Error, wenn sie es nicht war. So können Sie Fehler behandeln, statt anzunehmen, dass jeder Aufruf gelingt.
var result = await client.PutAsync("key", "value");
if (!result.IsSuccess)
{
Console.WriteLine(result.Error);
}
Wissenswertes
Einige Regeln gelten für jede Operation:
- Schlüssel sind Strings.
- Werte werden automatisch serialisiert.
- Alle Operationen sind asynchron, daher müssen Sie sie mit
awaitaufrufen. - Dieselbe API funktioniert sowohl im In-Process- als auch im verteilten Modus.
Nächste Schritte
Vollständige lauffähige Beispiele finden Sie im Zaris-Samples-Repository: