事务说明
redis事务就是连续顺序执行多条指令,中间不被打断或者干扰,一个队列中,一次性、顺序性、排他性的执行一系列命令。
事务的边界
开启事务:multi
开启事务,后续的所有指令均加入到事务中
执行事务:exec
结束向事务中添加指令并开始执行事务, 与multi成对使用
取消事务:discard
结束当前事务且不执行事务中的指令,当发现指令录入异常或错误时,输入此命令结束当前事务
注意:
1.指令集合中存在指令的语法错误会直接结束事务。
2.指令集合中存在语法没有问题,但是无法正确执行的情况,例如数据类型不匹配等,会把能执行的执行了,不能执行的输出错误信息,需要程序员自己控制数据回滚。
手动回归方案:在执行事务之前,先获取当前需要修改的数据和状态,当发现错误时在set回去
事务-锁
锁的作用:在事务exec(执行)之前&