命令介绍
multi
:开启事务exec
:执行事务discard
:取消事务watch
:监视Key改变,用于实现乐观锁。如果监视的Key的值改变,事务最终会执行失败unwatch
:放弃监视
事务说明
- 事务没有隔离级别的概念:批量操作在发送 EXEC 命令前被放入队列缓存,并不会被实际执行,也就不存在事务内的查询要看到事务里的更新,事务外查询不能看到。
- Redis不保证原子性:Redis中,单条命令是原子性执行的,但事务不保证原子性,且没有回滚。事务中任意命令执行失败,其余的命令仍会被执行
- 事务执行时,事务放入队列命令错误,所有命令都不会执行
- 事务执行时,事务执行错误,只有执行错误的命令不执行,其余命令依然执行