1.开篇明志
本文将介绍Redis事务。
2.事务
2.1 事务概念
Redis中的事务是一组命令的集合。一个事务中的命令要么都执行,要么都不执行。
127.0.0.1:6379> MULTI //告诉Redis 后面会有多条命令同属一个事物,将命令加入队列
OK
127.0.0.1:6379> SET A 1
QUEUED //说明 SET A 1 进入事物队列了
127.0.0.1:6379> SET B 2
QUEUED //说明 SET B 1 进入事物队列了
127.0.0.1:6379> EXEC //高如Redis顺序依次执行方才缓存的命令
1) OK //执行命令的返回值
2) OK //执行命令的返回值
127.0.0.1:6379> GET A
"1"
127.0.0.1:6379> GET B
"2"
Redis保证了事物中的所有命令要么都执行,要么都不执行。如果在执行EXEC命令之前客户端断线了,则Redis会清空事务队列, 事务中的所有命令都不会执行。
此外,Redis事务保证命令一次执行, 先进入事务队列的命令先执行, 后进入食物队列的命令后执行。
2.2 两类错误
在事务中,多条语句中的一条如果有错误,那么会怎么样呢?
来我们一起来做个试验
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET C 3
QUEUED
127.0