为什么 Redis 中的事物很玄学,没人使用 ?

2023-10-30

1.为什么不使用 Redis 中的事物 ?

        Redis 中的事物是 "弱事物",它在操作的时候,是将多个命令全部加入到事物队列中,然后通过 exec 命令一次性执行所有命令。这样做的好处是可以减少网络往返的次数,提高效率。

它的使用示例如下:

Redis 操作事物的命令有以下几个 :

  1. MULTI (开启事务):类似于 MySQL 8.0 之后的 begin;
  2. EXEC(提交事务):用于提交事务,它会执行事物队列中的所有命令。执行过程中,任何一条命令出错,按理来说是需要进行回滚的(但是 Redis 的事物很玄学)。
  3. DISCARD(回滚事务):用于取消一个事物,清空事物队列中所有的命令。

为什么说 Redis 中的事物很玄学,没人使用 ?

示例一:事物中进行嵌套事务

        从上图可以看出来,Redis 中的事物,在执行过程中出错了,提交事物的时候,并没有进行回滚,而是正常提交了。接下来再来看一个示例>

示例二:事物执行过程中写错命令

刚才明明是事物执行中报错也提交了事物,为啥这次事物执行中报错却取消事物了呢 ? 所以说 Redis 中的事物很玄学,没人使用。并且 Redis 中的事物也没有像 MySQL 那样设置隔离级别,它没有隔离性可言,在 Redis 事物执行期间,其他客户端的读写操作仍然可以进行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Redis 中的事物很玄学,没人使用 ? 的相关文章

  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • Redis如何存储关联数组?设置、散列还是列表?

    我对 Redis 的所有可用存储选项有点困惑 我想做一些简单的事情 并且不想过度设计它 我正在与phpredis and Redis v2 8 6 我有一个需要存储的简单关联数组 我还需要能够通过其键检索项目并循环遍历所有项目 a arra

随机推荐

  • 第五章 变形

    文章目录 一 长宽表的变形 1 pivot 2 pivot table 练一练 END 3 melt 4 wide to long 二 索引的变形 1 stack与unstack 2 聚合与变形的关系 三 其他变形函数 1 crosstab
  • Vue.js的组件(一)全局组件和局部组件

    刚开始学习Vue js 记录下心得 所谓组件 在我看来 就相当于新建一个属于自己的标签 但是这个标签的功能很强大 可以有很多特殊的功能 组件可以全局声明 js Vue component my component button1 templ
  • 环县计算机培训班,庆阳中职学校排名前十

    甘肃省庆阳市西峰区陇东职业中等专业学校建于1988年 是一所国家级重点职业学校 中德合作项目学校 学校位于庆阳市西峰区董志镇南街 毗邻庆阳市南区开发区 市内1路公交车南终点站 交通便利 环境优美 学校占地面积152亩 校舍建筑面积3 62万
  • 教你如何实现带复选框的ComboBox(自定义QComboBox)

    Qt提供的QComboBox只能选择其中一个选项 无法实现同时选中多个 而实际工程项目中 下拉框中带复选框的需求比比皆是 阅读了网上大量的博客 但是没有发现一个能完美的实现该功能的ComboBox 都存在各种未解决的bug缺陷 样子是那么回
  • 央企数字化转型实践思考

    01 数字化转型的内涵与价值效益 数字化转型是顺应新一轮科技革命和产业变革趋势 不断深化应用云计算 大数据 物联网 人工智能 区块链等新一代信息技术 激发数据要素创新驱动潜能 打造和提升信息时代的生存与发展能力 加速业务优化升级和创新转型
  • Python爬虫:如何下载汽车之家的数据(完整代码)

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 关注 关注必回关 一 确定目标
  • C语言 项目 CRM系统(客户信息管理系统)

    项目目标 项目需求说明 系统界面 1 添加客户界面 通过编号来区分客户 2 删除客户界面 对用户输入的编号进行核查 存在与否 合法与否 3 显示客户列表界面 4 修改客户信息的界面 项目设计 Customer结构体的设计 CRM系统结构框架
  • 基于机器学习方法对销售预测的研究

    很高兴 InfoQ 团队和 百分点大数据学院 牵头举办此次活动 百分点大数据学院 是由百分点发起的大数据领域专业 开放的分享交流平台 通过定期举办线上线下活动 邀请大数据领域学术专家 技术领袖 企业高层 分享行业 技术 应用等方面最前沿的经
  • PowerMock(一):PowerMock的基本使用

    文章目录 为啥要使用PowerMock PowerMock的使用 环境 引入依赖 注解说明 mock普通方法 mock抛出异常 mock新建对象 mock无返回值的方法 mock被final修饰的方法 参数模糊匹配 mock静态方法 moc
  • 下载安装office2019

    Hello 大家好 我是小喵 支付宝搜索 321994 领红包喽 前几天答应给大家写一篇关于安装激活Office2019的文章 一直在准备 准备制作GIF动图 制作图片等 把我电脑上的Office反复安装卸载 折腾的不像样子 终于 功夫不负
  • 在B端供应链上,看见企业增长的「密码」

    在被疫情重塑的B端市场里 在这个新的产业互联时代 发展的新答案到底是什么 作者 皮爷 出品 产业家 2022年中秋节 一款特殊的牛奶让伊利再次在B端市场破圈 在人们司空见惯的牛奶包装上 青花瓷的样本图案清晰可见 典雅大气 蓝白相间之中充斥着
  • [学C日记]---循环

    1 计算 n的阶乘 调用阶乘函数 三种循环 1 计算阶乘 int main int n 0 int m 0 scanf d n m jiecheng n printf d n m system pause return 0 int jiec
  • wsl 固定ip 方法 一劳永逸

    目前网上有很多办法 有用host 有修改bash的 非常多 也非常麻烦 目前发现这种方法最为简单 添加一个开机启动项 配置一个netsh 1 准备一个vbs 并添加到开机启动项 Set ws WScript CreateObject WSc
  • 更改内存频率导致电脑用不了怎么解决?

    目录 台式机 解决办法 笔记本 解决办法 电脑能开机 显示器指示灯闪烁但就是不亮显示器 主要问题是内存 内存超频不能超过本身内存卡的极限 至于内存卡的极限在哪里 你可以上网查一下你的内存卡的信息 超过了极限基本上一改电脑就跟死机差不多 运行
  • 2022国赛17:打印服务

    大赛试题内容 七 打印服务 任务描述 为了提高打印服务效率 节省成本 请采用共享打印服 务 实现共享打印的安全性 1 在 windows4 上安装打印机 驱动程序为 MS Publisher Color Printer 名称和共享名称均为
  • 排序算法(6)----计数排序

    不知道为什么 突然编辑器不支持颜色丰富的intellij IDEA直接复制了 博主有点沮丧 因此我先用图片的形式展示并分析 然后在最后会将全部代码呈上 排序思想 在一个数组中 对于每一个数据 都统计有多少个数字小于它 就能反应出它当前所在的
  • Centos 7开机菜单设置

    Centos 7的开机菜单设置主要是能过 etc grub2 cfg etc grub2 cfg gt boot grub2 grub cfg timeout 5 为等待用户选择时间 当5秒钟没有选择 系统会启动默认的菜单 与centos
  • 基于阿里云服务器+wordpress构建自己的网站(全过程系列,无需任何编程知识)

    1 阿里云服务器配置 既然是基于阿里云服务器 那么当然是先得申请一个阿里云服务器 本博客使用的服务器是云服务器ECS 共享计算型 n4系列 阿里云对新用户有很多优惠活动 这个是我当时花了69块钱买了一年 又通过某个渠道 返了60块钱 相当于
  • 数学建模美赛E、F题备考策略(自用,大部分复制粘贴)

    这里要讲一下故事的背景 我们小组三个人都是大一大二的学生 我的队友们都是数学专业的学生 所以比赛中的编程部分就交给了我这样的工业工程系的选手 我们在看完了历年赛题后一直认为 前面的几题我们都很难建立出很棒的模型 因此我们将目光对准E F两题
  • 为什么 Redis 中的事物很玄学,没人使用 ?

    1 为什么不使用 Redis 中的事物 Redis 中的事物是 弱事物 它在操作的时候 是将多个命令全部加入到事物队列中 然后通过 exec 命令一次性执行所有命令 这样做的好处是可以减少网络往返的次数 提高效率 它的使用示例如下 Redi