6. Redis 扩展功能-事务

事务就是保证命令组合原子性的一种机制,
一组命令,要么全部执行,要么全部不执行.
Reids的事务没有回滚功能,一旦开始执行,就必定都会执行,判断不能执行事务的依据是没有语法错误,并且关注的键值没有发生变化

命令

两个命令中间的命令会按照顺序执行

  • multi开始事务
  • exec结束事务
  • discard终止事务(所有命令都不执行)
  • watch $key在开始事务前关注指定的$key,保证在执行事务过程中$key的内容没有发生变化,否则事务执行失败

事务出错的处理方式

  1. 编写命令时错误(命令拼写错误)
    整个事务失败,所有命令无法执行
  2. 运行时错误(将A命令写成了B命令,但语法正确(即使运行时报错也不会回滚))
    整个事务运行成功,并不会发生回滚,需要手动修复