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 の「リスト」に「shippers」レコードを追加する方法を示しています。「配送業者」を「ユーザー」に置き換えるだけで、「増分」は失われます。あなたの「カウント」は単にリストの #/items になります:)

この例では、Booksleeve の代わりに ServiceStack を使用していますが、原則はまったく同じです。

'それが役立つことを願っています.. PSM

于 2012-08-31T00:19:40.810 に答える