StackExchange.Redis 事务操作

ConnectionMultiplexer con = ConnectionMultiplexer.Connect("127.00.1:6379");//  -- 1实例化客户端
            IDatabase db= con.GetDatabase();//获取数据库  -- 2
            var tran = db.CreateTransaction();//创建事物  -- 3
            tran.AddCondition(Condition.StringEqual("key","40"));//  主键是key 当前key 对应的value是30  --4 乐观锁
            tran.StringSetAsync("key", "60");//将要给key的 value赋值60  --5 事务处理
            bool result = tran.Execute();//提交事物  --6 
            Console.WriteLine("执行结果"+ result);//返回结果
            //情况 1.当执行第4步的时候,此时key对应value的值不是40,当执行到第6步的时,如果key的值在其他的客户端发生了更改变成40,也是可以提交成功
            //--结论 只有在提交那一瞬间,加锁的值与此时刻key的值相等,此时事物才可以生效。
            Console.ReadKey();

猜你喜欢

转载自blog.csdn.net/qq_15555767/article/details/79071610