Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Redis:我如何增加和插入?_.net_Redis_Booksleeve - Fatal编程技术网

.net Redis:我如何增加和插入?

.net Redis:我如何增加和插入?,.net,redis,booksleeve,.net,Redis,Booksleeve,我打开了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 那很好,但是我如何一次完成呢?如果我能在操作结束时获得userid,那就太好

我打开了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
那很好,但是我如何一次完成呢?如果我能在操作结束时获得userid,那就太好了,但是在这个例子中我真的不需要它,我想一次通过管道传输这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");
            }
        }
    }
}
请看这个C#示例:

它演示了如何将“托运人”记录添加到Redis“列表”中。只需将“用户”替换为“发货人”,并丢失“增量”。您的“计数”只会变成列表中的#/项:)

该示例使用ServiceStack而不是Booksleeve,但原则应该完全相同

“希望有帮助。。PSM

请看这个C#示例:

它演示了如何将“托运人”记录添加到Redis“列表”中。只需将“用户”替换为“发货人”,并丢失“增量”。您的“计数”只会变成列表中的#/项:)

该示例使用ServiceStack而不是Booksleeve,但原则应该完全相同


“希望有帮助。。PSM

Q:您想编写一个脚本来调用Redis CLI客户端命令、Redis Booksleeve客户端还是“其他东西”?@paulsm4:我想在.NET中编写代码。但是,如果有人告诉我CLI命令,我可能可以使用.NET/booksleeveQ猜测/查找它。问:是否要编写一个脚本来调用Redis CLI客户端命令、Redis Booksleeve客户端或“其他东西”?@paulsm4:我将在.NET中编写代码。但是,如果有人告诉我CLI命令,我可能可以使用.NET/booksleve猜/查找它
Count变成list中的项目数
是错误的。ServiceStack实际上在后台创建一个键,并在调用
GetNextSequence
时对其运行
incr
命令。使用列表中的项数生成序列号存在竞争问题。
Count变成列表中的项数。
错误。ServiceStack实际上在后台创建一个键,并在调用
GetNextSequence
时对其运行
incr
命令。使用列表中的项目数生成序列号存在争用问题