事务操作
- 单独的隔离操作
- 事务中的所有命令都会被序列化
- 按顺序执行
- 执行过程中,不会被其他命令请求打断
Redis事务的三大特性
- 单独的隔离操作(不会被打断)
- 没有隔离级别
- 不保证原子性
对比一下sql的事务特性,为acid,一致性,隔离性,原子性,持久性
而redis的事务特性没有隔离,因为都是单独的隔离而不会被打断,而且也不保证原子性,错了等待不到消息不会进行回滚
串联多个命令防止别的命令插队
主要的三个命令:multi、exec和discard
命令 | 功能 |
---|---|
multi | 组队节点,还未执行 |
exec | 执行阶段,将multi的队列放进 exec中 |
discard | 放弃multi在队列中的值 |
输入multi的时候下一个会出现tx,代表是事务
事务的成功:
事务的错误处理:
即使错误也会跳过当前语句继续执行,不会进行事务的回滚