Redis事务可以一次执行多个命令:
事务是单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行事务iu在执行地过程中,不会被其它客户端发送来的命令请求所打断。
事务原子操作:事务中地命令要么全部被执行,要么全部都不执行。
一个事务从开始到执行会经历以下三个步骤:
开始事务,命令入队,执行事务。
multi | 标记一个事务块的开始 |
discard | 取消事务,放弃执行的事务块内的所有命令 |
exec | 执行所有事务块内的命令 |
watch | 监视一个(多个)key,在事务开始时候执行watch,事务开始后,在事务里面执行这个命令会报错;被watch监控的key,如果key被其它客户端的其它命令所改动,事务将会被打断 |
unwatch | 取消watch命令对所有的key监控 |
watch监控的key
第一个客户端
第二个客户端,在第一个客户端执行set stu_name后开始执行,执行exec前执行下面命令