Premières opérations
Cet article couvre les trois opérations clé-valeur que vous utilisez le plus avec Clustron Zaris : stocker une valeur, la relire et la supprimer. Ensemble, elles suivent un simple motif put, get, delete.
La même API fonctionne à la fois en mode in-process et en mode distribué, de sorte que le code présenté ici s'exécute sans changement quel que soit le mode utilisé par votre store.
Prérequis
Vous avez besoin d'un store en cours d'exécution et d'un client connecté. Si vous n'en avez pas encore, obtenez un client dans Exécuter in-process ou Créer votre premier store. Les exemples ci-dessous supposent une variable client issue de ces étapes.
Mettre (put) une valeur
Stockez une valeur pour une clé avec PutAsync. Si la clé existe déjà, sa valeur est écrasée.
await client.PutAsync("hello", "world");
Obtenir (get) une valeur
Lisez une valeur avec GetAsync, en passant le type que vous attendez. L'appel renvoie un résultat dont la propriété IsSuccess vous indique si la clé a été trouvée, et dont la propriété Value contient la valeur lorsqu'elle l'a été.
var result = await client.GetAsync<string>("hello");
if (result.IsSuccess)
{
Console.WriteLine(result.Value);
}
else
{
Console.WriteLine("Key not found");
}
Supprimer (delete) une valeur
Supprimez une clé et sa valeur avec DeleteAsync.
await client.DeleteAsync("hello");
Gérer les résultats
La plupart des opérations renvoient un KvResult. Vérifiez sa propriété IsSuccess pour confirmer que l'opération a fonctionné, et lisez Error lorsque ce n'est pas le cas. Cela vous permet de gérer les échecs au lieu de supposer que chaque appel réussit.
var result = await client.PutAsync("key", "value");
if (!result.IsSuccess)
{
Console.WriteLine(result.Error);
}
À savoir
Quelques règles s'appliquent à chaque opération :
- Les clés sont des chaînes.
- Les valeurs sont sérialisées automatiquement.
- Toutes les opérations sont asynchrones, donc utilisez await.
- La même API fonctionne à la fois en mode in-process et en mode distribué.
Étapes suivantes
Pour des exemples complets et fonctionnels, voir le dépôt d'exemples de Zaris :