StackExchange.Redis 事务操作

本文介绍了一个使用Redis实现乐观锁的具体示例,通过C#代码展示了如何在客户端进行条件设置、事务处理及最终提交的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值