【StackExchange.Redis笔记】事务、乐观锁


StackExchange.Redis中的事物控制

但是StackExchange.Redis提供了一套非常简单易懂的创建事物的方式 ,下面为示例代码

 public static void Main(string[] args)
        {
            ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("xxxxxxx:6379,password=123456");
            IDatabase db = redis.GetDatabase(2);
            string name = db.StringGet("name");
            var tran = db.CreateTransaction();
            tran.AddCondition(Condition.StringEqual("name", name));
            tran.StringSetAsync("name", "fan");
            tran.StringSetAsync("age",18);
            bool result = tran.Execute();
            Console.ReadKey();
        }

这里通过CreateTransaction函数(multi)来创建一个事物,调用其Execute函数(exec)提交事物,其中的 "Condition.StringEqual("name", name)" 就相当于Redis命令中的watch name。