用于标记事务块的开始。Redis会将后续的命令逐个放入队列中,而后才能使用EXEC命令原子化地执行这个命令序列。数组
这个命令的运行格式以下所示:ide
MULTI
这个命令的返回值是一个简单的字符串,老是OK。code
在一个事务中执行全部先前放入队列的命令,而后恢复正常的链接状态。
当使用WATCH命令时,只有当受监控的键没有被修改时,EXEC命令才会执行事务中的命令,这种方式利用了检查再设置(CAS)的机制。队列
这个命令的运行格式以下所示:事务
EXEC
这个命令的返回值是一个数组,其中的每一个元素分别是原子化事务中的每一个命令的返回值。 当使用WATCH命令时,若是事务执行停止,那么EXEC命令就会返回一个Null值。字符串
127.0.0.1:6380> multi OK 127.0.0.1:6380> xadd myStreamKey * name Jack age 29 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 28 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 27 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 26 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 25 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 24 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 23 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 22 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 21 QUEUED 127.0.0.1:6380> xadd myStreamKey * name Jack age 20 QUEUED 127.0.0.1:6380> exec 1) "1555926229541-0" 2) "1555926229541-1" 3) "1555926229541-2" 4) "1555926229541-3" 5) "1555926229541-4" 6) "1555926229541-5" 7) "1555926229541-6" 8) "1555926229541-7" 9) "1555926229541-8" 10) "1555926229541-9"