redis事物处理

事物是什么:
一次可以执行多个命名,本质是一组命令的集合。一个事物的所有命令都是会序列化,按时顺序串行化执行而不会被其它命令插入,不允许加塞
能干嘛:
一个队列中,一次性、顺序性、排他性的执行一系列命令。
正常执行:
1. 启动redis
2. set 一个值
3. 开启事物 MULTI 返回 ok
4. 在set 值
5. exec结束
放弃执行:
DISCARD 命令

在这里插入图片描述
全体连坐:
一个错误,导致队列中所有都值都错误。 (类似于java中编辑异常)
谁错找谁:
类似于java中运行错误。
watch监控:
悲观锁:每次拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别想拿这个数据的时候都会上锁,这样别想拿这哥数据就会block知道它拿到锁。传统的关系型数据库里面就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在操作之前先上锁。
乐观锁:每次那数据的时候都会认为别人不会修改,所以不会上锁,但是在更新的时候会判断在此期间别人有没有去更新这个数据,可以使用版本好等机制。乐观锁使用于多读的应用类型,这样可以提高吞吐量。
** 乐观锁策略:提交版本必须大于记录当前版本才能更新**
WATCH 监听
其实watch 需要监听一个 key ,内容部采用的乐观锁的机制。
在这里插入图片描述
unwatch 放弃事物
一般和watch一起用,如果我在监听的时候 key 发生了改变,则需要放弃此次事物,不然我们的操作毫无意义。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值