总结
1.Redis事务,不保证原子性(ACID中的Atomicity)
常见的关系型数据库中,事务有ACID属性,详见:Database - 数据库事务ACID
- 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
- 一致性(Consistency)事务前后数据的完整性必须保持一致。
- 隔离性(Isolation)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
- 持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响
Redis单条命令保证原子性,但是Redis“事务”不保证原子性
2.Redis事务本质:一组命令的集合
注意:Redis事务没有隔离级别概念(详见:Database - 数据库隔离级别),因此也不存在,脏读,不可重复读,幻读等问题。
3.Redis事务:正常情况
4.Redis事务:放弃情况
5.Redis事务:异常情况
5.1 编译型异常
5.2 运行时异常
Redis - Redis事务
原文:https://www.cnblogs.com/frankcui/p/14618713.html