J'ai la CLI ouverte et une solution factices .NET ouverte. Je voudrais créer un utilisateur et insérer des données en une seule fois. Comment dans le CLI/REPL j'ai écrit ceciRedis: Comment i INCR et insérer?
redis 127.0.0.1:6379> incr userCount
(integer) 1
redis 127.0.0.1:6379> set user:1:name acid
OK
redis 127.0.0.1:6379> set user:1:pw zombie
OK
C'est bien, mais comment puis-je le faire en une fois? Ce serait bien si je pouvais obtenir l'ID utilisateur à la fin de l'opération mais vraiment je n'en ai pas besoin pour cet exemple et je voudrais pipeline les 3 commandes à la fois. Comment je fais ça? Aussi peut-être que je devrais le faire dans une transaction? Aussi, je devrais probablement vérifier si le nom existe avant d'insérer, mais je n'ai pas encore obtenu cela.
using BookSleeve;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace RedisEx
{
class Program
{
static void Main(string[] args)
{
using (var conn = new RedisConnection("localhost"))
{
conn.Open();
var userC = conn.Strings.Increment(1, "userCount");
var userid = conn.Wait(userC);
if (userid > 1)
{
var sz = conn.Wait(conn.Strings.GetString(1, string.Format("user:{0}:name", userid - 1)));
Console.WriteLine(sz);
}
conn.Strings.Set(1, string.Format("user:{0}:name", userid), "acid");
conn.Strings.Set(1, string.Format("user:{0}:pw", userid), "zombie");
}
}
}
}
Q: Est-ce que vous voulez écrire un script qui appelle les commandes client Redis-CLI, un client Redis-Booksleeve, ou "autre chose"? – paulsm4
@ paulsm4: j'écrirais du code dans .NET. Mais si quelqu'un me dit la commande CLI je peux être en mesure de deviner/rechercher en utilisant. NET/booksleeve –