1. Redis 事务是个单独的隔离操作,在一个步骤中按顺序执行一组命令,执行过程中不会被其他客户端发来的请求指令打断
2. multi,exec,discard
(1)multi 开启事务,将命令组队放到事务中
(2)exec 执行事务
(3)discard 在组队的过程中,希望放弃组队
举例
# 组队到执行
multi
set key1 value1
set key2 value2
exec
# 组队到放弃
multi
set key1 value1
set key2 value2
discard
在组队中,有任何一个命令失败,则整个任务都失败不会继续;但是若组队没报错,在执行过程中,谁有问题谁报错,不会影响其他,举例如下:
# 组队过程报错
multi
set key1 value1
set key2
# 接下来就直接报错了,不会让继续组队
# 组队没报错,执行报错
multi
set key1 value1
incr key1
set key2 value2
exec
# 执行的时候,第一行和第三行都没问题,但是第二行会报错