redis 事务的理解

redis 事务

事务本质就是 一组命令的集合 ,一个事务所有命令都会被序列化,在事务执行中 都会按照序列执行。 一次性,顺序性,排他性!

redis 没有隔离级别的概念!

执行程序:
开始事务(mutil)
执行的一些命令(。。。)
结束事务()

redis 的单条命令具有原子性,事务不保证原子性

编译错误 事务中所有命令不执行!
运行时错误 事务中报错的抛异常 成功的执行成功

redis的监控watch

乐观锁 : 任务所有的都能正常执行不会出问题;很乐观 通过监控 mysql 是version redis 通过watch 来监控这个数据 是否有变化来进行更新数据
悲观锁 : 是每一个执行命令 都要上锁;
流程
1.multi,开启Redis的事务,置客户端为事务态。
2.exec,提交事务,执行从multi到此命令前的命令队列,置客户端为非事务态。
3.discard,取消事务,置客户端为非事务态。
4.watch,监视键值对,作用时如果事务提交exec时发现监视的监视对发生变化,事务将被取消。
5. 执行失败的时候 需要重新获取值的话 需要用到 unwatch 来先解除锁
redis 实现乐观锁的文章
https://cloud.tencent.com/developer/article/1368533

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值