Redis学习笔记(十) 命令进阶:事务操作
2024-10-01 10:35:33
原文链接: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
此时,并不会执行,数据也不会发生变更。
最新文章
- MFC中如何画带实心箭头的直线
- 12.Linux软件安装 (一步一步学习大数据系列之 Linux)
- 实现LRU的两种方法---python实现
- JAVA中AJAX的使用
- linux GUI程序开发
- NET Core,Ubuntu运行
- jstl的小问题
- MVVM指南(课程学习)
- Asp.Net 常用工具类之Office-文档操作(6)
- 使用github+hexo搭建博客笔记
- kafka消息会不会丢失
- Python exe2shellcode,shellcode2exe
- win7(64bit)+python3.5+pyinstaller3.2安装和测试
- 测试教程网.unittest教程.1. 基本概念
- Codeforces Beta Round #49 (Div. 2)
- RPC、RMI、SOAP、WSDL的区别详解
- Teams UVA - 11609(快速幂板题)
- 如何用NAnt管理单文件程序仓库
- Ubuntu 16.04下 - vi编辑器使用【backspace】无法删除
- [ 转载 ] Java基础10--关于Object类下所有方法的简单解析
热门文章
- MVP演化论
- Eclipse中Git的基本使用
- winserver2012安装.net 3.5
- VS2008中C++打开Excel(MFC)
- oracle 删除表空间及数据文件方法
- javase 异常处理
- VS2013 opencv 无法删除“继承的值”问题解决方案
- JavaScript 原型 原型链
- 把SQLAlchemy查询对象转换成字典/json使用(汇总)
- 使用Ansible安装部署nginx+php+mysql之安装mysql(3)