目录
阅读下文之前建议点击下方链接了解 MySQL 事务详解
Redis 事务对比 MySQL 事务
MySQL 事务
- 原子性:将多个操作打包成一个整体,要么全部执行成功,要么全部都不执行,一旦执行出错,立刻回滚如初
- 一致性:事务执行前后,通过约束和回滚机制,保证数据合理
- 持久性:事务做出的修改会存储到硬盘上,不会随着服务器重启而丢失
- 隔离性:事务并发执行,涉及 四大隔离级别
Redis 事务
- 原子性:Redis 的事务到底有没有原子性 存在争议
- 不具备一致性:Redis 没有约束,也没有回滚机制,事务操作过程中如果某个修改操作出现失败,就可能引起不一致的情况
- 不具备持久性:Redis 本身就是内存数据库,数据是存储在内存中的,虽然 Redis 也有持久化机制,但是这里的持久化机制 和 事务没有啥直接关系
- 不涉及隔离性:Redis 是一个单线程模型的服务器程序,所有的请求 或 事务都是串行执行的
Redis 事务原子性解释
- 原子性最原本的含义:将多个操作打包到一起,要么全部执行,要么全部不执行
- Redis 和 MySQL 均做到了原子性最原本的含义