美文网首页
redis事务机制

redis事务机制

作者: John_Phil | 来源:发表于2018-10-25 13:47 被阅读0次

    一、相关命令

    1. MULTI (事物的开始)

    用于标记事务块的开始。Redis会将后续的命令逐个放入队列中,然后才能使用EXEC命令原子化地执行这个命令序列。

    这个命令的运行格式如下所示:

    MULTI

    这个命令的返回值是一个简单的字符串,总是OK。

    2. EXEC(事务结束执行)

    在一个事务中执行所有先前放入队列的命令,然后恢复正常的连接状态。

    当使用WATCH命令时,只有当受监控的键没有被修改时,EXEC命令才会执行事务中的命令,这种方式利用了检查再设置(CAS)的机制。

    这个命令的运行格式如下所示:

    EXEC

    这个命令的返回值是一个数组,其中的每个元素分别是原子化事务中的每个命令的返回值。 当使用WATCH命令时,如果事务执行中止,那么EXEC命令就会返回一个Null值。

    3. DISCARD(事物的回滚)

    清除所有先前在一个事务中放入队列的命令,然后恢复正常的连接状态。

    如果使用了WATCH命令,那么DISCARD命令就会将当前连接监控的所有键取消监控。

    这个命令的运行格式如下所示:

    DISCARD

    这个命令的返回值是一个简单的字符串,总是OK。

    正常同步执行操作 MULTI与EXEC


    回滚操作MULTI与DISCARD


    redis事务与关系型数据库不同点(关系型数据库事务出现错误全部回滚,而redis出现错误不回滚)

     

     如上发现即使中间出现了错误增加 n 在提交事务时出现超出范围报错,但继续执行添加100操作 最终结果为127。

    相关文章

      网友评论

          本文标题:redis事务机制

          本文链接:https://www.haomeiwen.com/subject/jtgqtqtx.html