redis事务可以一次执行多个命令,事务具有以下特征:
* 隔离性:事务中的所有命令都会序列化、按顺序地执行,不会被其他命令打扰
* 原子性:事务中的命令要么全部被执行,要么全部都不执行
* 开启一个事务
```text
语法:
multi
```
以后执行的所有命令。都在这个事务中执行的。
* **执行事务**
```text
语法:
exec
```
会将在multi和exec中的操作一并提交
* **取消事务**
```text
语法:
discard
```
会将multi后的所有命令取消
* **监视一个或者多个key**
```text
语法:
watch key[key...]
示例:
# 如果监听的可以发生改变,事务则不会执行,被取消掉
127.0.0.1:6379> watch username
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set username angle
QUEUED
重新打开一个cmd
127.0.0.1:6379> set username miku
OK
127.0.0.1:6379> exec
127.0.0.1:6379> get username
miku
-------------------------------------------------
# 如果监听的key没有发生改变,则事务会正常执行
127.0.0.1:6379> watch name
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set name angle
QUEUED
127.0.0.1:6379> exec
OK
127.0.0.1:6379> get name
angle
```
监听一个\(或多个\)key,如果在事务执行之前这个\(或这些\)key被其他命令所改动,那么事务将被打断
* **取消所有可以的监视**
```text
语法:
unwatch
```
- 简介
- 基础部分
- 准备
- 环境搭建
- 安装利器 - Pycharm
- 安装 Jupyter
- 虚拟环境
- Hello World
- 数据类型
- 输入输出
- 传统输出
- 格式化输出
- 读取键盘输入
- 注释
- 流程控制
- 操作符
- 算数运算
- 条件语句
- 条件表达式(三元操作符)
- 断言函数
- 循环语句
- range()
- 常见内置函数
- 数据结构
- 列表
- 创建列表
- 常用操作符
- 切片
- 列表生成式
- 字典
- 修改字典
- 元组
- 创建元组
- 集合
- 迭代
- 生成器
- 字符串
- 内建函数
- 数字
- math 模块
- 函数
- 如何使用函数
- 调用函数
- 定义函数
- 函数的参数
- 收集参数
- args
- 递归
- 高级函数
- 返回值
- 函数变量的作用域
- 匿名函数
- 内嵌函数和闭包
- 装饰器
- lambda表达式
- 日期和时间
- 测试、调试、异常
- 异常处理
- 日志信息
- 模块
- 使用模块
- 安装第三方模块
- 进阶部分
- 类与对象
- 魔法方法
- 内建模块
- 进程和线程
- 协程
- 数据库|存储
- 文件存储
- txt
- 缓存
- memcached 缓存系统
- memcached 介绍
- memcached 安装和参数详解
- telnet 操作memcached
- python 操作memcached
- memcached 的安全机制
- 关系数据库
- mysql
- 非关系数据库
- redis键值对数据库
- 安装以及客户端连接
- 字符串以及过期时间操作
- 列表操作
- 集合操作
- 哈希操作
- 事务操作
- 发布和订阅操作
- RDB和AOF的两种数据持久化
- Redis设置连接密码
- 其他机器连接本机redis
- python操作redis
- MongoDB
- orm模型
- 高级部分
- 图形界面
- Tkinter
- 介绍
- Label 组件
- Button 组件
- Checkbutton 组件
- Radiobutton 组件
- LabelFrame组件
- Scrollbar 组件
- Scale 组件
- Text 组件
- Indexes 用法
- Mark 用法
- Tags 用法
- Canvas 组件
- Menu 组件
- Menubutton 组件
- OptionMenu 组件
- Message 组件
- Spinbox 组件
- PanedWindow 组件
- Toplevel 组件
- 事件绑定
- 事件序列
- type
- modifier
- Event 对象
- 布局管理器
- pack
- grid
- place
- 标准对话框
- messagebox(消息对话框)
- filedialog(文件对话框)
- colorchooser(颜色选择对话框)
- turtle
- 正则表达式
- 网络通信
- 电子邮件
- 图像操作
- pillow
- OpenCV
- 自动化操作
- 科学计算
- 爬虫
- web
- 深度学习