redis事务

本文深入解析Redis事务机制的工作原理,包括事务的启动、取消、执行流程及错误处理方式。介绍了MULTI、EXEC、DISCARD、WATCH等事务关键字的使用方法,并通过示例展示了如何在实际场景中应用这些命令。

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

由于redis是单线程来处理所有client的请求,所以redis只能保证一个redis-client发起的事务中的命令可以连续的执行,而中间不会插入其他redis-client的命令。
一般情况下redis在接受到一个client发来的命令后会立即处理并 返回处理结果,但是当一个client在一个连接中发出multi命令有,这个连接会进入一个事务上下文,该连接后续的命令并不是立即执行,而是先放到一 个队列中。当从此连接受到exec命令后,redis会顺序的执行队列中的所有命令。并将所有命令的运行结果打包到一起返回给client.然后此连接就 结束事务上下文

  1. 事务关键字
MULTI、EXEC、DISCARD、WATCH
1.MULTI用来组装一个事务;
2.EXEC用来执行一个事务;
3.DISCARD用来取消一个事务;
4.WATCH用来监视一些key,一旦这些key在事务执行之前被改变,则取消事务的执行。
  1. 事务常见错误
    1):执行exec之前的错误(拒绝执行该事务)
    2):执行exec之后的错误(不理睬这些错误,继续执行)
    【WATCH】本身的作用是“监视key是否被改动过”,而且支持同时监视多个key,只要还没真正触发事务,WATCH都会尽职尽责的监视,一旦发现某个key被修改了,在执行EXEC时就会返回nil,表示事务无法触发。
  2. 操作示例
    1):组装一个事务
    这里写图片描述
    2):取消一个事务
    这里写图片描述
    3):监视
    这里写图片描述
    4):exec后错误
    这里写图片描述
    5):exec前错误
    这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值