redis 学习(四) 事务

## DISCARD 取消事务,放弃执行事务内的所有命令
discard 

## exec 执行所有事务内的开始


## multi 标记一个事务的开始

## watch key [key ...] 监控一个或多个key,如果在事务执行之前这个key被其他命令改动过,
## 那么事务会被打断



正常执行

取消事务

全体连坐 只要有一个失败 全部失败 严重错误直接输出错误

冤头债主  成功的成功 ,失败的失败

watch 指令类似乐观锁

悲观锁 (很悲观,必定出事) 类似mysql表锁,并发性差,一致性好

 

乐观锁  在每个字段后面加一个字段version, 类似mysql行锁

假设id为1一条记录 a,b两人一起进来该这条数据,a先该完后提交version置2,b后提交后发现version为2,必须先更新,再提交vsersion置3

 

CAS

正常情况

并发情况 假设a用户在操作num1同时,b用户也操作了num1 减30

这种情况需要 重新watch

如果再次被修改 只能 unwatch

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值