Redis事务

什么是事务

redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个队列,当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰

特性

  • 一次性
  • 顺序性
  • 排他性

基本操作

#开启事务,此指令执行后,后续的所有指令均加入事务中
mutli

命令1
命令2
...

#执行事务,事务的结束位置,同时也是执行事务,与multi成对出现
exec

#取消事务,终止当前事务定义,发生再multi之前,exec之前
discard

注意事项

  • 编译型错误,事务中所有的命令都不会被执行
 set name   ×
 正确的格式是,上面缺少个value:
 set key value  √
  • 运行时异常,再执行命令的时候,正确的命令可以正常执行,错误的命令抛出异常

    set count num  #设置一个值
    
    multi # 开启事务
    
    incr count #第一条,不能对字符串类型进行自增,错误的语句
    
    set name lixuan #第二条,正确
    
    get name  #第三条,正确
    
    exec # 执行事务
    1) (error) ERR value is not an integer or out of range  # 虽然第一条命令报错了,但是 依旧正常执行成功了! 
    2) OK 
    3) lixuan
    

如果遇到事务出错,只能用人工的方式,根据之前的记录,用set替换掉,redis不支持事务回滚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值