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