Zum Hauptinhalt springen

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 await aufrufen.
  • 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:

https://github.com/Clustron/zaris/tree/main/Samples