【发布时间】:2012-06-06 06:48:14
【问题描述】:
User 有 DisplayName,它对用户来说是唯一的。
我想创建用户,但首先我必须检查显示名称(显示名称不能为用户重复)
我检查了 ServiceStack 示例,但看不到带有验证检查的事务性插入/更新。
我该如何执行它。我不想为 redis db 编写“验证任务”。 我不想在 db 中出现不一致。
【问题讨论】:
标签: redis servicestack
User 有 DisplayName,它对用户来说是唯一的。
我想创建用户,但首先我必须检查显示名称(显示名称不能为用户重复)
我检查了 ServiceStack 示例,但看不到带有验证检查的事务性插入/更新。
我该如何执行它。我不想为 redis db 编写“验证任务”。 我不想在 db 中出现不一致。
【问题讨论】:
标签: redis servicestack
ServiceStack.Redis 客户端确实支持 Redis 的 WATCH 和 transactions,其中这些 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();
}
【讨论】:
【讨论】: