DISCARD

​DISCARD :取消事务,放弃运行事务块内的全部代码。假设在使用WATCH命令监视某个key。则取消监视,等同于UNWATCH。

​返回值:总是返回ok。    ​

    ​

  1. 127.0.0.1:6379> MULTI
  2. OK
  3. 127.0.0.1:6379> PING
  4. QUEUED
  5. 127.0.0.1:6379> SET greeting "hello"
  6. QUEUED
  7. 127.0.0.1:6379> DISCARD
  8. OK
  9. 127.0.0.1:6379> GET greeting
  10. (nil)

EXEC

​EXEC:运行全部事务块内的命令。

​返回值:事务块内全部命令的返回值,按命令运行的先后顺序运行。

操作被打断时,返回nil。

  1. 127.0.0.1:6379> MULTI
  2. OK
  3. 127.0.0.1:6379> INCR user_id
  4. QUEUED
  5. 127.0.0.1:6379> INCR user_id
  6. QUEUED
  7. 127.0.0.1:6379> INCR user_id
  8. QUEUED
  9. 127.0.0.1:6379> INCR user_id
  10. QUEUED
  11. 127.0.0.1:6379> EXEC
  12. 1) (integer) 1
  13. 2) (integer) 2
  14. 3) (integer) 3
  15. 4) (integer) 4

MULTI

​MULTI :标记一个事务块的開始。

最后由EXEC原子性的运行。

​返回值:总是返回OK。

UNWATCH

​UNWATCH:取消命令对全部key的监视。假设在WATCH命令之后,EXEC或DISCARD命令被运行的话,就不须要运行UNWATCH命令。

  1. 127.0.0.1:6379> UNWATCH
  2. OK
WATCH

​WATCH [key .. ]:监视一个或者多个key。假设在运行事务前,这些key被打断,那么事务运行失败。

​返回值:ok    ​    ​

  1. 127.0.0.1:6379> WATCH lock lock_times
  2. OK
  3. 127.0.0.1:6379> MULTI
  4. OK
  5. 127.0.0.1:6379> SET lock a
  6. QUEUED
  7. 127.0.0.1:6379> INCR lock_times
  8. QUEUED
  9. 127.0.0.1:6379> EXEC
  10. 1) OK
  11. 2) (integer) 1


Redis命令学习-Transaction(事务)的更多相关文章

  1. redis命令学习(二) · THIS SPACE

    列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...

  2. Redis 命令学习

    每天不学习点新的东西,感觉就有点会被社会淘汰掉了.也许现在学习的知识会很快忘记,下次学习用到这个知识点的时候,再回来翻记录的笔记,我想这样会比从头再学,效率会高点吧. 闲话不多聊,回归正题.今天学习r ...

  3. Redis命令学习-string类型操作

    APPEND key value     假设key已经存在,而且为字符串.那么这个命令会把value追加到原来值的末尾.假设key不存在.首先创建一个空字符串,再运行追加操作.     返回值:返回 ...

  4. redis命令学习的注意问题

    1.set get命令只用于字符串,get命令取key值时string正常返回,没有key返回nil,其他类型会报错 设置的时候是set test redis ex 200000等同于SETEX te ...

  5. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  6. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

  7. redis源码分析之事务Transaction(下)

    接着上一篇,这篇文章分析一下redis事务操作中multi,exec,discard三个核心命令. 原文地址:http://www.jianshu.com/p/e22615586595 看本篇文章前需 ...

  8. Redis学习手冊(事务)

    一.概述:       和众多其他数据库一样,Redis作为NoSQL数据库也相同提供了事务机制. 在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石. 相 ...

  9. [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. 41.AngularJS 服务(Service)

    转自:https://www.cnblogs.com/best/tag/Angular/ 什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. A ...

  2. [Swift]forEach详解

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. WebView的坑[持续更新]

    返回错误的 innerHeight,如 240(WebView returns bad window.innerHeight) http://stackoverflow.com/questions/1 ...

  4. Linux 中挂载 ISO 文件

    在 Linux 中挂载 ISO 文件 用 mount 命令,在终端中输入如下命令即可: sudo mount -o loop filename.iso /cdrom 其中 filename.iso 是 ...

  5. cal---显示日历

    cal命令用于显示当前日历,或者指定日期的日历. 语法 cal(选项)(参数) 选项 -l:显示单月输出: -3:显示临近三个月的日历: -s:将星期日作为月的第一天: -m:将星期一作为月的第一天: ...

  6. vue+element-ui的简洁导入导出功能

    1.前段后台管理系统中数据展示一般都是用表格,表格会涉及到导入和导出;原生js导出excel2.导入是利用element-ui的Upload 上传组件; <el-upload class=&qu ...

  7. 【Henu ACM Round#20 B】Contest

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 根据时间和原分数. 算出对应的分数就可以了. [代码] #include <bits/stdc++.h> using n ...

  8. Java基础学习总结(25)——Log4j快速入门教程

    log4j是一个优秀的日志组件,基本上所有的java开发项目都会用到它.下面将自己学习的一些心得总结一下,方便以后学习. log4j在项目中都不会单独使用,至少是我写过的java项目中没有.一般来说l ...

  9. 使用glPushMatrix和glPopMatrix的原因

    转自 百度百科   glPushMatrix 函数将当前矩阵堆栈推送,通过一个,复制当前矩阵. 这就是后 glPushMatrix 的调用堆栈的顶部矩阵是它下面的相同的.   1. 原理讲解 终于明白 ...

  10. AJAX--XMLHttpRequest五步使使用方法

    传统浏览方式和AJAX方式的不同 多数Web应用程序都使用请求/响应模型从server上获得完整的HTML页面.经常是点击一个button,等待server对应,在点击还有一个button.然后在等待 ...