什么是事务?
事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事 务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。
Redis 事务的概念
Redis 事务的本质是通过 MULTI、EXEC、WATCH 等一组命令的集合。事务支持一 次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照 顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行 命令序列中。 总结说:redis 事务就是一次性、顺序性、排他性的执行一个队列中的一系列命 令。
Redis 事务的三个阶段
- 事务开始 MULTI
- 命令入队
- 事务执行 EXEC 事务执行过程中,如果服务端收到有 EXEC、DISCARD、WATCH、MULTI 之外的请 求,将会把请求放入队列中排队