Redis事务

140 阅读1分钟

前言

Redis也是支持事务的,Redis的事务可以一次执行多个命令,但是Redis的事务不是原子性的,就是要么全部成功,要么全部失败

Redis事务

Redis事务,先以MULTI开启事务,最后由EXEC命令触发事务, 一并执行事务中的所有命令

语法错误

开启Redis事务中,执行以下命令


multi

set key1 value1

set key2 value2

set key3 value3


set key4


回车的时候,会发现异常

image.png 这个时候执行exec时,会发现

image.png Redis将向客户端返回包含错误提示信息的响应,同时Redis会清空队列中的命令并取消事务,也就是发生语法错误,指令不执行

image.png

命令执行错误


multi

set key2 value2

lpush key2 aa

set key3 value3


set key4 value4


image.png

回车执行事务,结果为

image.png 指令执行成功

image.png

总结

Redis的事务不是原子性的,就是要么全部成功,要么全部失败