3.01-事务-1

高可用:主从复制, 哨兵

原子性偏过程,一致性偏结果

mysql把四大特性完美实现,所以是强事务性

其他数据库四大特性多多少少都有取舍

mysql在磁盘中记录了命令执行中所有数据的状态,可以回滚数据,所以具有原子性

因为redis是单进程单线程,天生具备隔离性,不用技术实现

原子性要成功,必须碰磁盘,redis对其做了取舍,会有中间状态

会有中间状态,不保证原子性,一致性也无法完美达到

redis不是纯磁盘存储,持久性也有取舍,保证大部分数据不丢失,允许小部分数据丢失

redis注重做数据极速的存取,不注重事务!

开启事务后,命令全部发给redis,redis会给此次客户端一个存储空间,按顺序存储这些命令,先不执行,直到EXEC指令再执行

先存储,再执行

mysql的回滚是执行了命令又撤回,redis的DISCARD是清空命令,实际一个命令也没有执行

多个Django连接一个redis时,A和B同时发送几个命令,redis的事务能保证先执行A的几个命令,再执行B的几个命令,不会导致命令顺序的混乱

语法错误,命令入队失败,直接自动discard退出事务,此情况下没有中间状态!

有命令,但是用错数据类型,比如list的命令用到操作string类型

出现中间状态(上面数据set了,没有被删除),无法回滚,没有解决方案

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值