2

用户具有 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 回答