Redis 学习之事务以及锁机制

说起事务就不得不提数据库事务,比如mysql

mysqlredis
开启事务start transactionmulti
形式sql语句普通命令
失败处理rollback 回滚discard 取消
成功commitexec

注: 在mutil后面的语句中, 语句出错可能有2种情况
1: 语法就有问题,
这种,exec时,报错, 所有语句得不到执行
2: 语法本身没错,但适用对象有问题. 比如 zadd 操作list对象
Exec之后,会执行正确的语句,并跳过有不适当的语句.

mysql 事务demo

SELECT *FROM tb_account
INSERT INTO tb_account VALUES(2,100,'YY');
START TRANSACTION;
UPDATE tb_account SET money = money - 100 WHERE id = 1;
ROLLBACK

redis 事务 demo
在这里插入图片描述redis 锁机制–乐观锁
什么情景会出现锁机制呢?
当我们买票的时候 看到还剩一张 但是在点击购买的时候到 提交事务之间 别人已经提交成功购买成功。所以出现锁机制。
悲观锁
世界充满危险,肯定有人和我抢, 给 ticket上锁, 只有我能操作. [悲观锁]
乐观锁
没有那么人和我抢,因此,我只需要注意,有没有人更改票的值就可以了 [乐观锁]
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蜗牛乌龟一起走

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

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

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

打赏作者

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

抵扣说明:

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

余额充值