2

ユーザーには DisplayName があり、ユーザーに対して一意です。

ユーザーを作成したいのですが、最初に表示名を確認する必要があります (ユーザーの DisplayName を複製できませんでした)

ServiceStack の例を確認しましたが、トランザクションの挿入/更新と検証チェックが表示されませんでした。

どうすればそれを実行できますか。redis dbの「検証タスク」を書きたくありません。私はデータベースの矛盾を望んでいません。

4

2 に答える 2

2

redis トランザクションを実行できます。詳細はこちら

WATCH mykey
test = EXIST mykey
MULTI
SET mykey $val
EXEC

PHP を使用すると、より良い例が得られます:こちら

于 2012-06-01T01:54:45.120 に答える
2

ServiceStack.Redisクライアントは、Redis のWATCHトランザクションをサポートしています。これらの Redis コマンドは次のとおりです。

WATCH mykey
test = EXIST mykey
MULTI
SET mykey $val
EXEC

次の方法で実現できます。

var redis = new RedisClient();
redis.Watch("mykey");
if (!redis.ContainsKey("mykey")) return;

using (var trans = redis.CreateTransaction()) {
    trans.QueueCommand(r => r.Set("mykey", "val"));
    trans.Commit();
}
于 2012-06-01T04:52:21.420 に答える