| mysql | redis | |
|---|---|---|
| 开启事务 | start transaction命令 | multi命令 |
| 回滚事务 | 使用rollback命令可以回滚事务 | 不能回滚事务。但使用discard命令可以放弃事务queue中的sql |
| 提交事务 | commit命令,即使遇到sql语法错误也会提交事务 | exec命令,如果遇到sql语法错误会放弃事务中的sql |
| 悲观锁 | 使用select ... for update实现悲观锁 | 无 |
| 乐观锁 | 通常使用version或时间戳来实现乐观锁 | 使用watch监控对象变化来实现乐观锁 |
| 原子性(Atomicity) | 具备 | 具备 |
| 一致性(Consistency) | 具备 | 具备 |
| 隔离性(Isolation) | 具备 | 具备 |
| 持久性(Durability) | 具备 | 当redis服务器使用AOF持久化模式并appendfsync设置为always时具备 |
相关文章: