redis入门--简单事务

Redis支持简单的事务

Redis与 mysql事务的对比

             Mysql                       Redis
开启    start transaction              multi
语句    普通sql                         普通命令
失败    rollback 回滚                   discard 取消
成功    commit                          exec

注: rollback与discard 的区别
如果已经成功执行了2条语句, 第3条语句出错.
Rollback后,前2条的语句影响消失.
Discard只是结束本次事务,前2条语句造成的影响仍然还在

注:
在mutil后面的语句中, 语句出错可能有2种情况
1: 语法就有问题,
这种,exec时,报错, 所有语句得不到执行

2: 语法本身没错,但适用对象有问题. 比如 zadd 操作list对象
Exec之后,会执行正确的语句,并跳过有不适当的语句.

redis简单事务性:
①在执行multi和exec中这段过程,所有的命令都是放到一个队列里来执行的(cmd1,cmd2,cmd3,cmd4……..等等)。
② 倘若在exex命令执行之前,有人改变了cmd【index】任意一个命令下的key对应的值,都可能导致结果出错;这个时候我们需要借助watch关键字来帮我们解决这种问题
③:我们把需要保持事务性的数据,都用watch来监控,这样我们就可以保证简单的事务性了!

举例:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值