1、事务开始
MULTI
命令的执⾏,标识着⼀个事务的开始。
MULTI
命令会将客户端状态的
flags
属性中打开
REDIS_MULTI
标识来完成的。
当⼀个客户端切换到事务状态之后,服务器会根据这个客户端发送来的命令来执⾏不同的操作。如果客户端发送的命令为MULTI
、
EXEC
、
WATCH
、
DISCARD
中的⼀个,⽴即执⾏这个命令,否则将命令放⼊⼀个事务队列⾥⾯,然后向客户端返回 QUEUED
回复
事务队列是按照FIFO的⽅式保存⼊队的命令
客户端发送 EXEC 命令,服务器执⾏ EXEC 命令逻辑。
redis 不⽀持事务回滚机制,但是它会检查每⼀个事务中的命令是否错误。
Redis 事务不⽀持检查那些程序员⾃⼰逻辑错误。例如对 String 类型的数据库键执⾏对 HashMap 类型的操作!