------------redis事务----------------------------------------
可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。在提交事务提交前,每个命令将以队列的形式入队,直到提交事务。redis事务非关系型数据库事务(有可能会出现部分失败部分成功),具体看举例说明。
multi #标记一个事务的开始
exec #执行事务内的所有命令
discard #取消事务,放弃执行事务内的所有命令
watch #监视1个或多个key(以空格分割,如watch k1 k2),如果在执行事务之前,有其他人修改了这个任意一个key,则事务提交失败
unwatch #取消所有key的监视
举例说明:
当其中有一个命令语法出错时,exec提交失败,且所有set命令不会生效
当其中有一个命令语法正确,执行报错时,exec后,该语句报错,其他语句正常提交
当使用watch时(和multi一起使用,exec或discard后watch失效),有其他人修改了key,事务提交失败