当前位置: 首页 > news >正文

Redis进阶 ----事务

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.事务

1.1 MULTI和EXEC命令

发送MULTI命令,声明事务;EXEC执行事务

Redis不支持事务回滚

redis 127.0.0.1:6379> SET  key 1
OK
redis 127.0.0.1:6379> SET key 2
OK
redis 127.0.0.1:6379> SADD key 3
(error) ERR Operation against a key holding the wrong kind of value
redis 127.0.0.1:6379> SADD key 3  4
(error) ERR Operation against a key holding the wrong kind of value
redis 127.0.0.1:6379> SADD keynew  3
(integer) 1
redis 127.0.0.1:6379> MUTIL
(error) ERR unknown command 'MUTIL'
redis 127.0.0.1:6379> MULTI
OK
redis 127.0.0.1:6379> SET key 3
QUEUED
redis 127.0.0.1:6379> SET  keynew 4
QUEUED
redis 127.0.0.1:6379> EXEC
1) OK
2) OK
redis 127.0.0.1:6379> GET key
"3"
redis 127.0.0.1:6379> GET keynew
"4"
redis 127.0.0.1:6379>

1.2 Watch命令

监控某个键值,如果被修改,阻止后面的事务执行。仅仅防御性质的。

redis 127.0.0.1:6379> SET key 1
OK
redis 127.0.0.1:6379> WATCH key
OK
redis 127.0.0.1:6379> MULTI
OK
redis 127.0.0.1:6379> SET key 2
QUEUED
redis 127.0.0.1:6379> EXEC
1) OK
redis 127.0.0.1:6379> GET key
"2"
redis 127.0.0.1:6379>

redis 127.0.0.1:6379> SET keywatch  1
OK
redis 127.0.0.1:6379> SET keywatch 2
OK
redis 127.0.0.1:6379> WATCH keywatch
OK
redis 127.0.0.1:6379> SET keywatch 3
OK
redis 127.0.0.1:6379> MULTI
OK
redis 127.0.0.1:6379> SET keywatch 8
QUEUED
redis 127.0.0.1:6379> EXEC
(nil)
redis 127.0.0.1:6379> GET keywatch
"3"
redis 127.0.0.1:6379>


转载于:https://my.oschina.net/hanruikai/blog/307087

相关文章:

  • 【Spark亚太研究院-构建Spark集群-配置Hadoop伪分布模式并运行Wordcount(2)
  • 《设计模式系列》---组合模式
  • Exchange 2013sp1邮件系统部署-(九)
  • 点与不规则图形关系判断
  • Android开发之初识Camera图像采集
  • jQuery找到GridView控件ItemTemplate模版内的控件
  • 禁止执行某些讨厌的程序,如tadb.exe
  • 一个很好地免费域名dot.tk
  • 解决问题是根本,多余的话不说(转)
  • cocos2d-x Touch触屏事件
  • Unity 游戏开发技术学生作品展2014版
  • 你好,C++(6)2.3 C++兵器谱
  • JavaScript学习笔记(九)---- BOM
  • Delphi XE7 GPS控件android下的新变化
  • 如何查找SAP的事务代码清单
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 2017-08-04 前端日报
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java多态
  • overflow: hidden IE7无效
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Vue ES6 Jade Scss Webpack Gulp
  • 那些年我们用过的显示性能指标
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 我有几个粽子,和一个故事
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 在Unity中实现一个简单的消息管理器
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 第二十章:异步和文件I/O.(二十三)
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​520就是要宠粉,你的心头书我买单
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (02)Hive SQL编译成MapReduce任务的过程
  • (06)金属布线——为半导体注入生命的连接
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三)mysql_MYSQL(三)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ./configure,make,make install的作用
  • ./和../以及/和~之间的区别
  • .NET MVC 验证码
  • .NET 使用 XPath 来读写 XML 文件
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .net开发引用程序集提示没有强名称的解决办法
  • @Autowired自动装配
  • @Documented注解的作用
  • @RequestBody与@ModelAttribute
  • []常用AT命令解释()
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [Android] Implementation vs API dependency