Redis-Redis事务

Redis事务


Redis事务简介

  1. Redis事务是一组命令的集合,一个事务中的所有命令都将被序列化,按照一次性、顺序性、排他 性的执行队列系列的命令。
  2. Redis单条命令保证原子性,但是事务不保证原子性,且没有回滚。事务中任意命令执行失败,其 余的命令仍会被执行。
  3. Redis事务没有隔离级别的概念。批量操作在执行前被放入缓存队列,并不会被实际执行,也就不 存在事务内的查询要看到事务里的更新,事务外查询不能看到。
  4. Redis事务的三个阶段:
    • 开始事务
    • 命令入队
    • 执行事务

Redis事务基本操作

Multi、Exec、discard

事务从输入Multi命令开始,输入的命令都会依次压入命令缓冲队列中,并不会执行,直到输入Exec后, Redis会将之前的命令缓冲队列中的命令依次执行。

组队过程中,可以通过discard来放弃组队。

在这里插入图片描述

例1:

multi 开始事务
set k1 v1 进行组队,并不执行
set k2 v2 进行组队,并不执行
exec 执行队列命令,依次设置k1 k2

在这里插入图片描述

例2:

multi 开始事务
set k3 v3 进行组队,并不执行
set k4 v4 进行组队,并不执行
discard 取消组队,都不执行

在这里插入图片描述

事务的错误处理

  1. 语法错误,整个队列中的命令都不执行。

    在这里插入图片描述

    例:整个命令缓存队列都不会执行。

    在这里插入图片描述

  2. 运行报错,只有报错的命令不会执行,其他正常执行。

    在这里插入图片描述

    例:只有报错的命令没有执行。

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/706426.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【再探】设计模式—桥接模式、组合模式及享元模式

结构型设计模式描述了对象与类之间的关系。适配器模式及装饰器模式主要用于接口适配及功能增强,而桥接模式模式则是为了减少类的数量,组合模式让部分与容器能被客户端统一对待处理,享元模式则是用于节约系统内存,提高系统性能。 …

Leetcode—304. 二维区域和检索 - 矩阵不可变【中等】

2024每日刷题&#xff08;137&#xff09; Leetcode—304. 二维区域和检索 - 矩阵不可变 算法思想 实现代码 class NumMatrix { public:NumMatrix(vector<vector<int>>& matrix) {int m matrix.size();int n matrix[0].size();prefix.resize(m 1, vector&…

水泡传感器内部结构

水泡传感器内部结构&#xff1a; 水泡传感器放大电路 电路是基于1.6V做的TIA I2V&#xff0c; 也就是输出部分基于1.6V做电压的增加或减少。

第十七篇:数据库性能优化的数学视角:理论与实践的融合

数据库性能优化的数学视角&#xff1a;理论与实践的融合 1. 引言 在现代信息技术快速发展的背景下&#xff0c;数据库性能优化已经成为计算机科学领域的一个热点问题。随着数据量的爆炸式增长和用户需求的多样化&#xff0c;数据库系统所承载的数据处理任务变得越来越复杂&…

Synchronize 底层实现原理

1 、加锁实现原理 public class SynchronizedTest {public void get(){synchronized (this){ // 这个是同步代码块System.out.println("你好呀");}}public synchronized void f(){ //这个是同步方法System.out.println("Hello world");}public s…

VBA在Excel中部首组查字法的应用

VBA在Excel中部首组查字法的应用 文章目录 前言一、网站截图二、操作思路三、代码1.创建数据发送及返回方法2.创建截取字符串中的数值的方法3.获取部首对应的编码4.获取特定部首的汉字运行效果截图前言 使用汉语字典查生字、生词,多用拼音查字法和部首查字法。以前都是用纸质…

【前端】TypeScript--未整理

概念 安装 npm install -g typescript 检查版本 tsc -v tsc 类型

代码随想录——二叉树的最小深度(Leetcode111)

题目链接 层序遍历 遍历整棵树&#xff0c;当找到一个叶子节点时&#xff0c;直接返回这个叶子节点的深度。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNod…

创新实训2024.05.12日志:建立易学知识库

1. 部署向量知识库到生产机 1.1. 基本环境配置 生产机上的环境还没有配好&#xff0c;这里我记录下需要配置的环境。 python 3.11.8 首先python环境最好选用3.11(准确来说支持3.8-3.11的任何release&#xff09;&#xff0c;我选择了python3.11.8 Python Release Python 3.…

vue框架学习--表单校验

在使用 Element UI&#xff08;一个常见的 Vue UI 组件库&#xff09;&#xff0c;要给 添加表单验证&#xff0c;Element UI 的表单验证通常通过 Form 和 FormItem 组件以及它们的 rules 属性来实现。下面是一个例子&#xff0c;展示如何给联系人字段添加表单验证&#xff1a;…

C语言实现心形代码(静态效果+动态效果)

静态心形代码 用C代码在控制台输出一个由字符&#xff08;在这个例子中是小写字母’v’&#xff09;组成的心形形状。步骤如下&#xff1a;&#xff08;有完整实现代码&#xff09; 变量声明&#xff1a; int i, j, k, l, m; char c v;这里声明了五个整数变量&#xff08;i…

全新多语言海外抢单刷单系统源码 订单自动匹配 支持分组 代理后台

安装教程 测试环境&#xff1a;Nginx PHP7.0 MySQL5.6 config/database 修改数据库 设置运行目录public 伪静态thinkphp 后台登录地址&#xff1a;/admin 账号admin 密码admin123 前端出现报错 删除runtime文件夹得缓存文件即可 源码免费下载地址抄笔记 (chaobiji.cn)