Redis事务支持
Redis通过MULTI、EXEC、WATCH等命令来实现事务(transaction)功能。事务提供了一种将多个命令请求打包,然后一次性、按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务而去执行其他客户端的命令请求,它会将事务中的所有命令都执行完毕才去处理其他客户端的命令请求。
下面是一个事务执行的过程:
MULTI标志事务的开始,然后将命令一条一条地放进任务队列,最后通过EXEC命令执行队列中的所有任务。
事务的实现
1.事务开始
2.命令入队
3.事务执行
事务开始
MULTI命令执行标志着事务的开始。
MULTI命令将执行该命令的客户端从非事务状态切换至事务状态,这一切换是通过打开客户端状态flags属性中的REDIS_MULTI标识来完成的。