【Redis】事务

Redis事务是一组命令的集合。这组命令顺序化执行而不会被其他命令插入。

Redis事务命令

命令描述
DISCARD取消事务,放弃执行
EXEC执行事务
MULTI标记事务的开始
UNWATCH取消WATCH对所有key的监控
WATCH监控所有key

Redis事务特点

特点说明
单独的隔离操作Redis命令执行是单线程的,在执行完事务内所有指令前无法同时执行其他客户端的请求
没有隔离级别的概念在事务提交前任何指令都不会被实际执行
不保证原子性不保证所有指令同时成功或者失败,无法执行到一半进行回滚
排他性Redis会保证一个事务内命令依次执行,不会被其他命令插入

具体的使用方式:

  • 正常执行
    MULTI
    redis语句...
    EXEC
    
  • 放弃执行
    MULTI
    redis语句
    DISCARD
    
  • 发生语法错误
    假设在MULTI...EXEC中的某一条redis语句发生语法错误,则整个事务都不会执行
  • 发生执行错误
    假设在MULTI...EXEC中的redis语句没有语法错误,但是在执行过程中发现了错误,则除了这条语句,其他语句都正常执行。
  • WATCH监控
    Redis使用Watch来提供乐观锁定,类似于CAS,Redis在修改时会检测数据是否被更改,如果更改了则执行失败。手动取消监控锁使用unwatch,自动取消监控锁有两种方式:
    • 执行exec取消之前加的监控锁
    • 当客户端丢失连接时
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rockict_z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值