Redis事务学习笔记 发布时间:2026/8/8 21:48:15 文章目录前言一、先搞懂Redis事务到底是什么二、四大核心命令 课堂实操案例1. MULTI EXEC 正常提交事务2. DISCARD 放弃事务清空队列3. WATCH 乐观锁解决并发数据冲突三、致命大坑Redis事务**不支持自动回滚**场景1组队阶段语法错误 → 整个事务全部作废场景2组队无错误执行时报错 → 正确命令正常生效不会回滚官方不做回滚的设计原因面试标准答案四、Redis事务 VS MySQL事务 ACID对比Redis事务独有两个特性五、Redis事务适用不适用场景适合使用不推荐使用六、期末/面试高频简答题汇总结尾小结前言Redis事务不同于MySQL事务接下来请跟随我的脚步一起来学习吧提示以下是本篇文章正文内容下面案例可供参考一、先搞懂Redis事务到底是什么Redis事务和MySQL事务初衷相似把多条Redis命令打包成一组操作执行过程中不会被其他客户端请求插队打断。但两者本质差别巨大MySQL完整支持ACID四大特性Redis只是简易事务原子性残缺、没有隔离级别、出错不会自动回滚。Redis事务分为两大阶段组队阶段入队执行MULTI开启事务后续输入的所有命令不会立刻执行全部存入事务队列控制台返回QUEUED排队标识中途不想提交可以用DISCARD清空整个队列直接放弃本次事务。执行阶段批量运行输入EXEC提交事务Redis会单线程串行执行队列里所有指令执行期间阻塞其他客户端请求保证命令不会穿插执行。二、四大核心命令 课堂实操案例1. MULTI EXEC 正常提交事务流程开启事务→批量写入命令→提交统一执行127.0.0.1 MULTI # 开启事务 OK 127.0.0.1(TX) set username eric QUEUED 127.0.0.1(TX) set age 20 QUEUED 127.0.0.1(TX) get username QUEUED 127.0.0.1(TX) EXEC # 提交批量执行所有排队命令 1) OK 2) OK 3) eric关键点组队阶段无法查询数据只有执行EXEC后数据修改才会真正生效。2. DISCARD 放弃事务清空队列写了一半发现逻辑错误不想提交直接丢弃所有排队指令不会产生任何数据变更127.0.0.1 MULTI OK 127.0.0.1(TX) set k1 v1 QUEUED 127.0.0.1(TX) DISCARD # 放弃事务 OK 127.0.0.1 get k1 (nil)3. WATCH 乐观锁解决并发数据冲突这是Redis事务最核心的拓展命令也是面试必考题。作用事务开启前监控一个或多个key如果在EXEC执行前这些key被其他客户端修改本次事务直接作废所有命令都不会执行。模拟场景账户余额100两个客户端同时发起扣款操作客户端1操作127.0.0.1 set balance 100 OK 127.0.0.1 WATCH balance # 监控余额key OK 127.0.0.1 MULTI OK 127.0.0.1(TX) decrby balance 80 QUEUED # 切到客户端执行扣款客户端2并发操作127.0.0.1 decrby balance 50 (integer) 50切回客户端1执行提交127.0.0.1(TX) EXEC (nil) # 返回nil事务失效防止超扣原理和数据库乐观锁版本号思路一致完美解决并发修改覆盖问题。三、致命大坑Redis事务不支持自动回滚90%初学者都会踩这个雷分两种报错场景区分期末必考场景1组队阶段语法错误 → 整个事务全部作废输入命令格式非法入队时直接报错后续执行EXEC会直接丢弃所有指令一条都不执行。127.0.0.1 MULTI OK 127.0.0.1(TX) set k1 # 缺少value语法错误入队报错 (error) ERR wrong number of arguments for set 127.0.0.1(TX) set k2 v2 QUEUED 127.0.0.1(TX) EXEC (error) EXECABORT Transaction discarded because of previous errors. # k1、k2均无数据场景2组队无错误执行时报错 → 正确命令正常生效不会回滚命令语法没问题但操作数据类型不匹配执行失败时其他正常执行的命令不会撤销。127.0.0.1 MULTI OK 127.0.0.1(TX) set num 100 # 正常指令 QUEUED 127.0.0.1(TX) incr numstr # numstr不存在无法自增执行报错 QUEUED 127.0.0.1(TX) set name eric # 正常指令 QUEUED 127.0.0.1(TX) EXEC 1) OK 2) (error) ERR value is not an integer or out of range 3) OK执行完成后num100、nameeric真实存入Redis报错语句直接跳过没有任何回滚操作。官方不做回滚的设计原因面试标准答案Redis核心定位是高性能缓存回滚机制会增加底层代码复杂度大幅降低执行效率语法、数据类型错误都属于开发阶段bug上线前单元测试就能提前规避不需要线上兜底回滚如果需要完整原子执行、出错全部回滚的能力优先使用Lua脚本。四、Redis事务 VS MySQL事务 ACID对比很多面试官会提问Redis事务满足标准ACID吗一张表讲清差异四大特性MySQL事务Redis MULTI事务原子性(A)完全满足要么全部成功失败全部回滚残缺执行过程不插队但单条命令出错不会回滚其他操作一致性©内置约束保障异常自动修复数据合法无内置机制一致性需要业务代码自行维护隔离性(I)提供四大隔离级别读写互不干扰无隔离级别概念事务未提交的数据全局可见持久性(D)提交后数据永久落盘和事务无关由RDB/AOF持久化配置控制Redis事务独有两个特性串行执行EXEC运行期间Redis单线程只处理当前事务队列外部请求全部阻塞无中间态组队阶段的修改不会对外可见只有提交后才生效。五、Redis事务适用不适用场景适合使用批量缓存写入多条命令需要连续执行、不被其他请求打断简单并发控制库存扣减、账户余额变更搭配WATCH乐观锁轻量统计类批量操作对数据一致性要求不高。不推荐使用金融核心业务转账、订单支付零容忍数据错乱Redis集群环境多键分属不同slot时MULTI无法批量操作复杂多分支业务逻辑需要完整原子回滚补充需要强原子性统一用Lua脚本脚本执行全程不可中断出错不会半写入数据。六、期末/面试高频简答题汇总Redis事务分为哪两个阶段答组队阶段MULTI入队命令标记QUEUED、执行阶段EXEC批量执行DISCARD命令可以直接丢弃未提交的事务队列。WATCH命令的作用是什么答实现Redis乐观锁监控指定key若事务提交前key被外部客户端修改EXEC会返回nil整个事务作废。Redis事务为什么不支持回滚答Redis主打高性能回滚会增加底层复杂度语法、类型错误属于开发bug测试阶段可提前发现需要完整原子操作推荐Lua脚本。两种事务报错处理有什么区别答①入队时语法错误整个事务直接作废②组队无错、执行时报错正常命令正常保存错误语句跳过不会回滚。Redis事务完整支持ACID吗答不支持。原子性残缺、无隔离级别一致性需要业务代码维护持久性由持久化配置决定和事务本身无关。结尾小结之前一直用MySQL事务的固有思维写Redis代码踩了不少坑现在彻底分清两者的区别Redis事务只是命令批量打包工具不是传统关系型数据库的标准事务。日常简单批量缓存操作、简单并发扣减场景使用MULTIWATCH完全够用但支付、订单这类对数据一致性要求极高的业务要么使用Lua脚本要么把核心事务逻辑交给MySQL处理。 相关新闻 APARENT vs 传统方法:为什么深度学习是RNA调控预测的未来 SiamMask源码剖析:深入理解跟踪算法的实现细节 【免费下载链接】SiamMask [CVPR2019] Fast Online Object Tracking and Segmentation: A Unifying Approach 项目地址: https://gitcode.com/gh_mirrors/si/SiamMask SiamMask目标跟踪算法作为CVPR2019的突破性… 2026/8/8 21:48:15 VeraCrypt磁盘加密指南:3步掌握安全数据保护完整流程 VeraCrypt磁盘加密指南:3步掌握安全数据保护完整流程 【免费下载链接】VeraCrypt Disk encryption with strong security based on TrueCrypt 项目地址: https://gitcode.com/GitHub_Trending/ve/VeraCrypt 在当今数据安全日益重要的时代,VeraCry… 2026/8/8 21:48:15 从理论到实践:AIMNet2-rxn过渡态优化与NEB计算完全教程 Pampy模式匹配性能优化:150行代码如何实现高效匹配 【免费下载链接】pampy Pampy: The Pattern Matching for Python you always dreamed of. 项目地址: https://gitcode.com/gh_mirrors/pa/pampy 在Python编程中,模式匹配是一种强大的编程范式&a… 2026/8/8 21:48:15 最新新闻 Klock核心功能解析:10分钟掌握多平台时间操作的高效技巧 Klock核心功能解析:10分钟掌握多平台时间操作的高效技巧 【免费下载链接】klock Multiplatform Date and time library for Kotlin 项目地址: https://gitcode.com/gh_mirrors/kl/klock Klock是一款专为Kotlin设计的多平台日期时间库,能够帮助开发… 2026/8/8 22:43:17 Portman与Postman协作技巧:集合同步、环境变量与测试报告 Portman与Postman协作技巧:集合同步、环境变量与测试报告 【免费下载链接】portman Port OpenAPI Specs to Postman Collections, inject test suite and run via Newman 👨🏽🚀 项目地址: https://gitcode.com/gh_mirrors/po… 2026/8/8 22:43:17 AI行业泡沫与商业落地的现实困境 1. 龙虾与AI:一场荒诞的隐喻狂欢最近科技圈突然流行起一个奇怪的比喻:把AI从业者比作"龙虾"。这个梗源自某位投资人朋友圈的段子,说AI创业者就像被扔进沸水里的龙虾——明知道行业泡沫严重,却还在拼命往里跳。没想到这个… 2026/8/8 22:43:17 learning-cloud项目终极指南:从0到1掌握AWS、Azure与GCP云服务 learning-cloud项目终极指南:从0到1掌握AWS、Azure与GCP云服务 【免费下载链接】learning-cloud Courses, sample code, articles & screencasts - AWS, Azure, & GCP 项目地址: https://gitcode.com/gh_mirrors/le/learning-cloud learning-cloud项… 2026/8/8 22:43:17 Windows运行Shell脚本全攻略:WSL、MSYS2、Git Bash方案对比与避坑指南 1. 为什么要在Windows上运行Shell脚本?如果你是一个长期在Linux或macOS环境下工作的开发者或运维工程师,突然切换到Windows平台,最不习惯的事情之一可能就是命令行环境的差异。Linux下那些得心应手的.sh脚本,在Windows的CMD或Powe… 2026/8/8 22:43:17 Android 3D模型查看器实战方案:移动端STL/OBJ/PLY文件高效预览工具 Android 3D模型查看器实战方案:移动端STL/OBJ/PLY文件高效预览工具 【免费下载链接】ModelViewer3D 3D model viewer app (STL, OBJ, PLY) for Android. 项目地址: https://gitcode.com/gh_mirrors/mo/ModelViewer3D 在移动设备上随时随地查看3D模型… 2026/8/8 22:38:17 日新闻 2026年Graph+AI Agents最新创新思路 本次围绕GraphAI Agents这个方向筛选了15篇高质量论文,都是近年来具有较高引用价值或方法创新的研究工作,其中部分来自IJCAI、AAAI、ICRA。 对于论文er来说,这些论文方法结构清晰、可复现性较强,在多个任务上都有可延展的空间。如… 2026/8/8 0:03:01 Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制 Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wan… 2026/8/8 0:03:01 深圳专业网站制作公司哪家好?中山品牌网站建设服务深度解析与避坑指南 在这个移动互联网几乎渗透到我们生活每一寸肌理的时代,很多企业老板、创业者或者市场部门负责人常常会有这样的焦虑:明明我们的产品质量过硬,甚至在行业内也是数一数二的水平,但在线上却总是默默无闻。客户找不到我们,合作伙伴不了解我们的核心优势,甚至有时候连基本的信… 2026/8/8 0:03:01 周新闻 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/8 10:15:32 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/8 9:06:45 月新闻 【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/8 7:56:20 AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/8 4:32:54 AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/7 15:51:54
APARENT vs 传统方法:为什么深度学习是RNA调控预测的未来 SiamMask源码剖析:深入理解跟踪算法的实现细节 【免费下载链接】SiamMask [CVPR2019] Fast Online Object Tracking and Segmentation: A Unifying Approach 项目地址: https://gitcode.com/gh_mirrors/si/SiamMask SiamMask目标跟踪算法作为CVPR2019的突破性… 2026/8/8 21:48:15
VeraCrypt磁盘加密指南:3步掌握安全数据保护完整流程 VeraCrypt磁盘加密指南:3步掌握安全数据保护完整流程 【免费下载链接】VeraCrypt Disk encryption with strong security based on TrueCrypt 项目地址: https://gitcode.com/GitHub_Trending/ve/VeraCrypt 在当今数据安全日益重要的时代,VeraCry… 2026/8/8 21:48:15
从理论到实践:AIMNet2-rxn过渡态优化与NEB计算完全教程 Pampy模式匹配性能优化:150行代码如何实现高效匹配 【免费下载链接】pampy Pampy: The Pattern Matching for Python you always dreamed of. 项目地址: https://gitcode.com/gh_mirrors/pa/pampy 在Python编程中,模式匹配是一种强大的编程范式&a… 2026/8/8 21:48:15
Klock核心功能解析:10分钟掌握多平台时间操作的高效技巧 Klock核心功能解析:10分钟掌握多平台时间操作的高效技巧 【免费下载链接】klock Multiplatform Date and time library for Kotlin 项目地址: https://gitcode.com/gh_mirrors/kl/klock Klock是一款专为Kotlin设计的多平台日期时间库,能够帮助开发… 2026/8/8 22:43:17
Portman与Postman协作技巧:集合同步、环境变量与测试报告 Portman与Postman协作技巧:集合同步、环境变量与测试报告 【免费下载链接】portman Port OpenAPI Specs to Postman Collections, inject test suite and run via Newman 👨🏽🚀 项目地址: https://gitcode.com/gh_mirrors/po… 2026/8/8 22:43:17
AI行业泡沫与商业落地的现实困境 1. 龙虾与AI:一场荒诞的隐喻狂欢最近科技圈突然流行起一个奇怪的比喻:把AI从业者比作"龙虾"。这个梗源自某位投资人朋友圈的段子,说AI创业者就像被扔进沸水里的龙虾——明知道行业泡沫严重,却还在拼命往里跳。没想到这个… 2026/8/8 22:43:17
learning-cloud项目终极指南:从0到1掌握AWS、Azure与GCP云服务 learning-cloud项目终极指南:从0到1掌握AWS、Azure与GCP云服务 【免费下载链接】learning-cloud Courses, sample code, articles & screencasts - AWS, Azure, & GCP 项目地址: https://gitcode.com/gh_mirrors/le/learning-cloud learning-cloud项… 2026/8/8 22:43:17
Windows运行Shell脚本全攻略:WSL、MSYS2、Git Bash方案对比与避坑指南 1. 为什么要在Windows上运行Shell脚本?如果你是一个长期在Linux或macOS环境下工作的开发者或运维工程师,突然切换到Windows平台,最不习惯的事情之一可能就是命令行环境的差异。Linux下那些得心应手的.sh脚本,在Windows的CMD或Powe… 2026/8/8 22:43:17
Android 3D模型查看器实战方案:移动端STL/OBJ/PLY文件高效预览工具 Android 3D模型查看器实战方案:移动端STL/OBJ/PLY文件高效预览工具 【免费下载链接】ModelViewer3D 3D model viewer app (STL, OBJ, PLY) for Android. 项目地址: https://gitcode.com/gh_mirrors/mo/ModelViewer3D 在移动设备上随时随地查看3D模型… 2026/8/8 22:38:17
2026年Graph+AI Agents最新创新思路 本次围绕GraphAI Agents这个方向筛选了15篇高质量论文,都是近年来具有较高引用价值或方法创新的研究工作,其中部分来自IJCAI、AAAI、ICRA。 对于论文er来说,这些论文方法结构清晰、可复现性较强,在多个任务上都有可延展的空间。如… 2026/8/8 0:03:01
Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制 Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wan… 2026/8/8 0:03:01
深圳专业网站制作公司哪家好?中山品牌网站建设服务深度解析与避坑指南 在这个移动互联网几乎渗透到我们生活每一寸肌理的时代,很多企业老板、创业者或者市场部门负责人常常会有这样的焦虑:明明我们的产品质量过硬,甚至在行业内也是数一数二的水平,但在线上却总是默默无闻。客户找不到我们,合作伙伴不了解我们的核心优势,甚至有时候连基本的信… 2026/8/8 0:03:01
ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/8 10:15:32
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/8 9:06:45
【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/8 7:56:20
AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/8 4:32:54
AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/7 15:51:54