Redis---03Redis事务
2024-08-31 14:53:42
一、Redis事务
1.简述:
Redis事务是一个单独的隔离操作;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断
2.作用:
主要作用就是串联多个命令防止别的命令插队
3.相关实现命令
multi:开启事务
exec:提交事务,执行所有事务块内的命令
discard:取消事务,放弃执行事务块内的所有命令。
watch key[key...]:监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断
unwatch:取消 WATCH 命令对所有 key 的监视。
4.事务过程描述:
从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,至到输入Exec后,Redis会将之前的命令队列中的命令依次执行;在组队的过程中可以通过discard来放弃组队。
5.三特性
①单独的隔离操作
事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断
②没有隔离级别的概念
队列中的命令没有提交之前都不会实际的被执行,因为事务提交前任何指令都不会被实际执行,也就不存在“事务内的查询要看到事务里的更新,在事务外查询不能看到”这个让人万分头痛的问题
③不保证原子性
Redis同一个事务中如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚
二、操作过程演示
1.不加watch/unwatch操作
2.加watch/unwatch操作
最新文章
- hive学习
- 学习下nginx负载均衡--深入理解nginx
- C语言实现penna模型
- [Elixir007] on_definition规范函数定义时的各种潜规则
- 每日一九度之 题目1043:Day of Week
- 怎么给OCR文字识别软件重编文档页面号码
- 418. Sentence Screen Fitting
- 更改nginx网站根目录
- Python之路:Python 基础(二)
- 伪 alter 弹窗 +弹窗统一
- Javascript 闭包与高阶函数 ( 一 )
- Android ContentProvider详解
- Problem H
- 【深度学习系列】用PaddlePaddle进行车牌识别(一)
- GIS案例学习笔记-三维生成和可视化表达
- AOJ 2200 Mr. Rito Post Office (floyd+DP)
- 【转】js生成接口请求参数签名加密
- java 中多播、广播编程
- html5实现拖拽上传头像
- mysql buffer
热门文章
- 如何使用NuGet package .nupkg文件?
- 1.UiPath账密安全保存常见方法
- kafk学习笔记(一)
- @RequestParam,@RequestBody,@ResponseBody,@PathVariable注解的一点小总结
- PHP_加密解密字符串
- 搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)
- 错误: 在类中找不到 main 方法, 请将 main 方法定义为: &;#160; &;#160;public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application 。
- vue显示后端传递的图片流
- CRUD,分页,排序,搜索与AngularJS在MVC
- ansible-playbook-roles目录结构