该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();
}