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();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值