redis事务初探

事务就是一组操作的集合,这组操作要么一起成功,要么一起失败,也就是所谓的操作的原子性

1.redis事务的两种特性:

    a.事务是单独的封锁操作,事务中的所有的操作都会序列化执行,按照顺序执行,同时当事务在执行的过程中不会被其他的事务打断。

     b.事务的操作是一个原子操作,要么里面的操作一起成功,要么一起失败(只要有一个失败就一起失败)。

 2.事务从开始到执行的步骤

   (1) 开始事务:multi

                          >multi --- OK

    (2) 命令入队

                          >set name  chao

                         >set  sex  man

     开启事务之后,开启事务队列,用于放置事务中的操作,当命令入队的时候,会有一些语法的检查,如果操作得当的话,返回QUEUED,如果有错误返回一些错误报告,例如ERR unknow command sget等,

    3、执行事务:exec

          >exec

         redis的事务,没有回滚一说,通过在命令入队的时候,如果出现一些错误的话,该事务直接失败

      4 .watch的命令

          可以监控一个或多个键,一旦其中一个键被修改(或删除),之后的事务就不会执行。监控一直持续到exec命令,事务中的命令是在exec之后才执行的,所以在multi命令后可以修改watch监控的键值。

参照博客https://baijiahao.baidu.com/s?id=1608337116180752513&wfr=spider&for=pc