1

我打开了 CLI 并打开了一个 .NET 虚拟解决方案。我想创建一个用户并一次性插入一些数据。我是如何在 CLI/REPL 中编写的

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

没关系,但是我怎么一口气做到这一点?如果我能在操作结束时获得用户 ID,那就太好了,但在这个例子中我真的不需要它,我想一​​次管道化 3 个命令。我怎么做?另外,也许我应该在交易中这样做?另外我可能应该在插入之前检查名称是否存在,但我还没有做到这一点。

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");
            }
        }
    }
}
4

1 回答 1

1

请看这个 C# 示例:

它说明了将“托运人”记录添加到 Redis“列表”。只需将“用户”替换为“托运人”,并丢失“增量”。您的“计数”只是成为列表中的 #/items :)

示例使用 ServiceStack 代替 Booksleeve,但原理应该完全一样。

'希望有帮助.. PSM

于 2012-08-31T00:19:40.810 回答