Redis学习笔记(十) 命令进阶:事务操作
原文链接:http://doc.redisfans.com/transaction/index.html
Redis中也提供了对于事务的支持,由于Redis是单线程处理Client的请求,所以实现起来也比较容易,先介绍一下相关命令:
- multi:表示事务的开始,一旦申明,后续的命令都会被放进事务快中;
- watch key[key...]:监视一个key或多个key,如果在事务执行之前key被其他命令改动,事务就会被打断,此命令需在事务前申明,但是如果当discard或者exec被执行后由于事务已经生效,此时watch会被取消也就没有必要再执行unwatch了;
- unwatch:取消watch命令监视的所有key;
- exec:执行事务块内的命令;
- discard:取消事务,放弃事务中的所有命令。
例1:测试事务
multi
set k1 v1
set k2 v2
set k3 v3
set k4 v4
这是去获取k1、k2的值是获取不到的,最后执行
exec
会返回结果并可以发现数据被写入redis中了。
例2:取消事务
multi
set k1 1
set k2 2
set k3 3
set k4 4
discard
此时发现redis中的数据并未发生改变,说明事务被取消了。
例3:watch
watch k1 k2 k3 k4
multi
set k1 1
set k2 2
set k3 3
set k4 4
这是我们新开一个客户端,将k1的值设置为1,然后再执行
exec
此时,并不会执行,数据也不会发生变更。
Redis学习笔记(十) 命令进阶:事务操作的更多相关文章
- Redis自学笔记:4.1进阶-事务
第4章:进阶 4.1事务 4.1.1概述 redis中的事务是一组命令的集合 事务同命令一样都是redis的最小执行单位,一个事务中的命令要么都执行, 要么都不执行 事务的原理是先将一个事务的命令发送 ...
- Redis学习笔记(二) ---- PHP操作Redis各数据类型
Redis 一.使用PHP操作Redis存储系统中的各类数据类型方法 1.String(字符串)操作 <?php // 1. 实例化 $redis = new Redis; // 2. 连接 r ...
- Redis学习笔记~常用命令总结
回到目录 客户端redis-cli常用的命令总结 连接到服务器 redis-cli -h 127.0.0.1 -p 6379 --连接指定的redis服务器 发布/订阅, pub/sub模式运行在re ...
- redis 学习笔记——数据同步、事务
redis主从同步 redis支持简单易用的主从复制(master-slave replication)功能,该功能也是redis高可用性实现的基础. redis复制原理 re ...
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- Redis学习笔记-常用命令篇(Centos7)
redis提供了丰富的命令,这些命令可以在linux终端使用.在各类语言中,这些命令都有对应的方法. 一.键值相关 1.keys 返回满足给定pattern的所有key 127.0.0.1:6379& ...
- python 学习笔记十 rabbitmq(进阶篇)
RabbitMQ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消 ...
- Redis学习笔记十:独立功能之监视器
通过执行 monitor 命令可以让客户端自己变成一个监视器,实时接收并打印当前处理的命令请求的相关信息. 127.0.0.1:6379> monitor OK 1451752646.83727 ...
- Redis学习笔记~目录
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...
- Redis学习笔记(二)-key相关命令【转载】
转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...
随机推荐
- class A<T> where T:new()相关知识点
来源:http://www.cnblogs.com/FredWang/p/4284251.html class A<T> where T:new() ===>>> ...
- 图像的全局特征--LBP特征
原文链接:http://blog.csdn.net/zouxy09/article/details/7929531#comments 这个特征或许对三维图像特征提取有很大作用.文章有修改,如有疑问,请 ...
- C# HttpWebRequest post 请求传参数
Dictionary<string, string> parameters = new Dictionary<string, string>(); //参数列表 paramet ...
- 引用css样式的书写格式
css的书写格式一共有三种 行内样式:意思是在行内中写样式 例如说<p style="color:red">用行内样式编写我的颜色</p> 只适用于< ...
- JavaScript Math 对象常用方法
Math.abs(x):可返回数的绝对值 Math.ceil(x):向上取整 Math.floor(x):向下取整 Math.max(x,y):最大值 Math.min(x,y):最小值 Math.r ...
- 那些年 IE 下踩过的坑
1年过去了,换了一个不用兼容IE8一下浏览器的工作了! 1.:before,:after(伪类) 所有主流浏览器都支持 :before 选择器. 注释:对于 IE8 及更早版本中的 :before,必 ...
- VS Code中编写html(4) 标签的宽高颜色背景设置
1 <!+Tab键--> <!--有两个div标签时,分别设置style,有两种方法--> <div id="div1">第一个div标签:& ...
- Javase范式
package Xwxx; import java.util.ArrayList; import java.util.Iterator; import java.util.function.IntBi ...
- leetCode笔记--(1)
陪朋友刷题,记录下. 1.Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operato ...
- mysql数据库优化原则
一.一个例子 数据库需要处理的行数: 189444*1877*13482~~~479亿 如果在关联字段上加上合适的索引: 数据库需要处理的行数:368006*1*3*1~~~110万 MySQL通常是 ...