redis事务是一组命令的集合,一个事务中的命令要么都不执行,要么都执行。
1、发送MULTI开始事务
2、发送事务集合的命令到事务队列
3、发送EXEC结束事务,按顺序执行
注意:如果EXEC之前断开客户端,redis会清空事务队列。
事务的返回值是多行字符串类型
错误处理
1、语法错误
只要有一个命令语法错误,执行EXEC后会直接返回错误,语法正确的命令也不会执行。
2、运行错误
命令执行时出现的错误,事务里出现一条命令出现了运行错误,事务里其他命令依然会继续执行。
redis的事务没有回滚的功能,开发者需要自己处理出错后的恢复。
WATCH命令
可以监控一个键或者多个键,一旦其中有一个键被修改或删除,之后的事务就不会执行。监控持续到EXEC命令。
UNWATCH命令用来取消监控