目录
2.2、Redis 事务设计这么简单,为什么不涉及成 MySQL 那样强大呢?
一、Redis 事务 vs MySQL事务
我们熟知的 MySQL,你还记得她的事务特性么?
- 原子性:将多个操作打包成一个整体,要么全都执行成功,要么一个都不执行,一旦执行出错,立刻回滚如初.
- 一致性:事务执行前后,通过约束和回滚机制,保证数据合理. 例如我去银行给 张三 转账 1 元钱,那么我的卡里就会减少 1 元,张三的卡里就会增加 1 元,不能增加 100 元。
- 持久性:事务做出的修改都会存储到硬盘上,不会随着服务器重启而丢失.
- 隔离性:事务并发执行,涉及到的一些问题.
Redis 的事务和 MySQL 相比,就像一个“弟弟”~
- 原子性:Redis 的事务到底有没有在原子性,存在争议!因为从 Redis 的角度理解就是“把多个操作打包到一起,要么全都执行,要么全都不执行”,也就是说,这里如果中途执行失败,那就失败吧,不会有像 MySQL 那样回滚的操作(也因此,网上有人一部分人说 redis 事务有原子性,一部分说没有原子性,都对,但是要看从那个角度出发了~).
- 不具备一致性:redis 没有约束和回滚,事务执行一旦出错,就可能导致不一致的情况.
- 不具备持久性:Redis 本身就是内存数据库,数据是存储在内存中的. 虽然 Redis 也有持久化机制,但是这里的持久化机制和事务没有

订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



