一、Redis事务

  1.简述:

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

  2.作用:

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

  3.相关实现命令

     multi:开启事务

     exec:提交事务,执行所有事务块内的命令

    discard:取消事务,放弃执行事务块内的所有命令。

     watch key[key...]:监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断

     unwatch:取消 WATCH 命令对所有 key 的监视。

  4.事务过程描述:

    从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,至到输入Exec后,Redis会将之前的命令队列中的命令依次执行;在组队的过程中可以通过discard来放弃组队。

  5.三特性

    ①单独的隔离操作

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

    ②没有隔离级别的概念

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

    ③不保证原子性

      Redis同一个事务中如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚

二、操作过程演示

  1.不加watch/unwatch操作

          

  2.加watch/unwatch操作

      

最新文章

  1. hive学习
  2. 学习下nginx负载均衡--深入理解nginx
  3. C语言实现penna模型
  4. [Elixir007] on_definition规范函数定义时的各种潜规则
  5. 每日一九度之 题目1043:Day of Week
  6. 怎么给OCR文字识别软件重编文档页面号码
  7. 418. Sentence Screen Fitting
  8. 更改nginx网站根目录
  9. Python之路:Python 基础(二)
  10. 伪 alter 弹窗 +弹窗统一
  11. Javascript 闭包与高阶函数 ( 一 )
  12. Android ContentProvider详解
  13. Problem H
  14. 【深度学习系列】用PaddlePaddle进行车牌识别(一)
  15. GIS案例学习笔记-三维生成和可视化表达
  16. AOJ 2200 Mr. Rito Post Office (floyd+DP)
  17. 【转】js生成接口请求参数签名加密
  18. java 中多播、广播编程
  19. html5实现拖拽上传头像
  20. mysql buffer

热门文章

  1. 如何使用NuGet package .nupkg文件?
  2. 1.UiPath账密安全保存常见方法
  3. kafk学习笔记(一)
  4. @RequestParam,@RequestBody,@ResponseBody,@PathVariable注解的一点小总结
  5. PHP_加密解密字符串
  6. 搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)
  7. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application 。
  8. vue显示后端传递的图片流
  9. CRUD,分页,排序,搜索与AngularJS在MVC
  10. ansible-playbook-roles目录结构