• redis 之 redis事务


    Redis事务

    Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

    Redis的作用

    Redis事务的主要作用就是串联多个命令防止别的命令插队。

    Redis事务的三个特性

    1.单独的隔离操作
      事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 

    2.没有隔离级别的概念
      队列中的命令没有提交之前都不会实际的被执行,因为事务提交前任何指令都不会被实际执行,也就不存在“事务内的查询要看到事务里的更新,在事务外查询不能看到”这个让人万分头痛的问题 。

    3.不保证原子性
      Redis同一个事务中如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚 。

    常用命令

    命令 描述
    multi  标记一个事务的开始
    discard  取消事务,放弃执行事务块内的所有命令
    exec 标记事务开始,开始执行队列中的命令
    watch <key1> <key2>... 监视一个或者多个可以,如果在事务执行之前key的值发生改变,则事务将被打断
    unwatch 取消watch命令对所有key的监视

    图解

    从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,至到输入Exec后,Redis会将之前的命令队列中的命令依次执行。

    组队的过程中可以通过discard来放弃组队。

     事务的错误处理

    组队中某个命令出现了报告错误,执行时整个的所有队列会都会被取消。

    如果执行阶段某个命令报出了错误,则只有报错的命令不会被执行,而其他的命令都会执行,不会回滚 

  • 相关阅读:
    IE无法打开internet网站已终止操作的解决的方法
    欢乐暑假-高校俱乐部暑期线上编程竞赛奖励机制
    pojAGTC(LCS,DP)
    ExtJs自学教程(1):一切从API開始
    Java实现BASE64编解码
    IOS框架概览
    DeviceIoControl的使用说明
    strcpy_s与strcpy的比較
    第三章 引擎的核心:渲染框架
    具体解释VB中连接access数据库的几种方法
  • 原文地址:https://www.cnblogs.com/zero-vic/p/13291301.html
Copyright © 2020-2023  润新知