Redis的事务笔记

Redis学习笔记(五):Redis事务-multi、exec、discard、锁、分布式锁、死锁 Redis事务简介 redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰,一个队列,一次性,顺序性,排他性的执行一系列命令 事务的基本操作 开启事务 multi 设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中 执行事务 exec 设定事务的结束位置,同时执行事务。与multi成对出现,成对使用 取消事务 discard 终止当前事务的定义,发生在multi之后,在exec之前 事务的工作流 阅读详情

1、redis的事务

  • 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞

2、redis事务

常用命令

命令功能
discard取消事务,放弃执行事务块内所有命令
exec执行所有事务块内的命令
multi标记一个事务块开始
unwatch取消WATCH命令对所有key的监视
watch监视1个或多个key,如果在事务执行之前这个key被其他命令所改动,那么事务将被打断

1)正常执行
在这里插入图片描述
2)放弃事务

在这里插入图片描述
3)redis语法错误(回滚)

有点像编译时异常在这里插入图片描述
在这里插入图片描述
4)执行错误抛出

像运行时异常
在这里插入图片描述

5)watch监控

① 监控了key,如果key被修改了,后面一个事务的执行失效
在这里插入图片描述
②可以通过unwatch取消全部监控

③一旦执行了exec之前加的监控锁都会被取消掉了

3、三个阶段

1)开启:以MULTI开始一个事务

2)入队:将多个命令入队到事务中,接到这些命令并不会立即执行,而是放到等待执行的事务队列里面

3)执行:由EXEC命令触发事务

4、三个特性

1)单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

2)没有隔离级别的概念:队列中的命令没有提交之前都不会实际的被执行,因为事务提交前任何指令都不会被实际执行,也就不存在”事务内的查询要看到事务里的更新,在事务外查询不能看到”这个让人万分头痛的问题

3)不保证原子性:redis同一个事务中如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚

出现 RuntimeError: adaptive_avg_pool2d_backward_cuda does not have a deterministic implementation的解决方法 大致就是在执行主函数的训练函数中,在反向传播这一块出现了问题。解决方法就是添加如下代码块。找到提示bug的行数。 阅读详情

相关推荐

Ubuntu 18.04下Freesurfer 7.2.0安装全攻略:从下载到环境配置一步到位

本文详细介绍了在Ubuntu 18.04系统上安装Freesurfer 7.2.0的完整流程,包括系统准备、依赖安装、下载解压、环境配置、许可证获取及性能优化。Freesurfer作为神经影像分析的重要工具,支持皮层重建和体积分割等复杂任务,适用于阿尔茨海默症等神经系统疾病研究。指南还提供了常见问题解决方案和实际应用案例,帮助用户快速搭建高效的神经影像分析平台。

omega的博客 996

Redis通配符Key的使用并实现字符串(String)和哈希(Hash)的批量删除

1、Redis的通配符 在 Redi s中,允许使用模糊查询 key。 Redis 支持3种通配符: *、?、[ ] *:通配任意多个字符。 ?:通配单个字符。 [ ]:通配括号内的某1个字符。 2、Redis Keys 命令 Redis 中的 Keys 命令:用于查找所有符合给定模式 pattern 的 key。 返回值:符合给定模式的 key 列表 (Array)。 【示例】Redis 中使用 Keys 命令和通配符进行查询。 3、Java中使用Redis通配符 R..

pan_junbiao的博客 1万+

Gemini 3.1 Flash本地部署实操:Ollama+Open WebUI零门槛运行指南

大型语言模型(LLM)本地运行是指将模型权重下载至本地设备,通过推理引擎完成离线推理的过程;其核心原理依赖量化压缩(如GGUF格式)与轻量级运行时(如Ollama)实现CPU/GPU高效加载;技术价值在于低延迟响应、数据隐私可控及免网络依赖;典型应用场景包括办公提效(邮件/周报生成)、学生学习辅助、产品原型验证等边缘AI任务;本文聚焦Gemini 3.1 Flash这一面向消费级硬件优化的轻量模型变体,结合Ollama模型管理与Open WebUI图形界面,提供从环境准备、模型拉取到流式对话的完整新手实操路

weixin_32238157的博客 495

通配符匹配在Redis中的实现

命令)中均支持通配符模式匹配,但具体实现细节和使用场景存在差异。命令允许对字段名(即哈希键)进行通配符匹配。此功能适用于分布式环境或大数据量场景,避免。Redis中通配符匹配的核心机制基于。参数可结合通配符筛选键名。这在嵌套数据结构中实现精准筛选。(匹配单个字符)两种符号。(匹配任意数量字符)和。

m0_73762612的博客 625

AGM Supra软件从零到一:国产CPLD工程创建全流程拆解

本文详细拆解了AGM Supra软件从零开始创建国产CPLD工程的全流程,包括开发环境配置、工程创建、Quartus项目转换、TCL脚本执行与编译等关键步骤。特别强调了中文路径避坑、器件型号选择等实用技巧,帮助开发者高效完成CPLD开发任务。

weixin_29158413的博客 410

用PyTorch复现经典:手把手教你用Double DQN训练AI玩转打砖块(附完整代码与调参心得)

本文详细介绍了如何使用PyTorch实现Double DQN算法,训练AI智能体玩转经典雅达利游戏Breakout(打砖块)。从环境配置、帧预处理到网络架构设计和经验回放机制,全面解析了强化学习在游戏AI中的应用。文章还提供了关键调参技巧和实战优化方案,帮助开发者快速掌握Double DQN的核心实现与性能优化方法。

weixin_30596165的博客 229

Redis的持久化(四)

redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失。为了解决这个问题,redis提供了持久化功能——RDB和AOF(Append Only File)。 RDB RDB(Redis DataBase)是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis重启会通过加载dump

bengbeng_biu 512

【RT-DETR涨点改进】全网独家首发、注意力改进篇 | ICLR 2026 | 引入 MHLA 多头线性注意力,关注不同的上下文区域,弥补卷积的长程依赖建模方面的不足,助力高效涨点,来自北京大学

🔥本文提出MHLA多头线性注意力模块,用于改进RT-DETR目标检测网络。MHLA通过恢复线性注意力的表达能力,在保持线性复杂度的同时,为网络提供高效的全局上下文建模能力。该方法解决了传统线性注意力在长序列建模中的"全局上下文坍塌"问题,使不同空间位置能关注不同上下文区域。实验表明,MHLA显著提升了RT-DETR在复杂背景、小目标和遮挡场景下的检测性能,且不增加显著计算开销。文章详细介绍了MHLA的原理、优势及8种改进方案,并提供了完整的代码实现和配置指南。

Ai缝合怪、助力小伙伴高效发论文 271

redis的事务相关概述

1、是什么? 我们学过sql一定就知道事务,那么redis作为一个nosql(not only sql)也一定有自己的事务 redis的事务:可以一次性执行多条命令,本质是一组命令的集合,一个事务中的所有命令都会被序列化,按顺序的串行化执行,而不会被其他命令插入,不允许加塞。 简单说就是:一个队列中,一次性、顺序性、排他性的执行一系列命令 2、 怎么用? 2、1 几个基本命令 multi 用于标记一个事务块的开始,之后所有的命令都放在队列,等遇到exec命令的时候再执行 exec 用于事务块内所有命令的执

sober 398

2026实战:YOLOv11融合Swin Transformer,小目标检测精度暴涨47%

本文针对工业零件微小缺陷检测难题,提出了一种CNN与Transformer的最优融合方案。作者发现直接替换YOLOv11骨干网络为Swin Transformer会导致速度骤降69%而精度仅提升2.1%。通过大量实验,总结出三项核心设计原则:1)CNN为主、Transformer为辅;2)高层插入、浅层保留;3)模块化融合。最终提出三种渐进式融合方案,其中骨干部分替换方案(方案二)实现了小目标检测精度提升47%,推理速度仅下降8%的优异表现。文章详细解析了Swin Transformer的核心原理,提供了完

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 515

西安交通大学软件学院——分布式系统练习题(综合题)

摘要:本文探讨了分布式系统的核心特性与关键问题。首先阐述了分布式系统的8种透明性特性,包括访问、定位、迁移等。然后通过具体案例分析了分布式事务的回滚机制、域名解析的迭代与递归过程、不同分布式系统的异同比较。重点讨论了RPC通信中客户端/服务器崩溃的处理方法,包括消灭、再生和到期三种策略。最后介绍了Lamport时间戳算法在进程通信中的应用及问题解决方案。全文涵盖了分布式系统设计中的透明性、可靠性、一致性等核心问题。

qq_73044452的博客 204

Redis——Redis常用命令

键值相关命令、服务器相关命令

码说芯语的博客 2286

MATLAB算法实战应用案例精讲-【数模应用】装箱问题

装箱问题可以根据不同的维度进行分类。以下是一些常见的装箱问题二维装箱问题:二维装箱问题假设所有物品都是平面上的矩形,并且需要将它们放入平面上的容器中。这个问题的目标是找到一种装箱方案,使得物品不重叠并占据的总面积最小。三维装箱问题:三维装箱问题考虑到物品可以具有高度,并且需要将它们放入三维容器(如箱子或货柜)中。目标是找到一种装箱方案,使得物品不重叠且总体积最小。多维装箱问题:多维装箱问题是指在更高维度空间中进行装箱的问题。除了长度和宽度之外,物品可能具有其他属性,如高度、重量、形状等。

qq_36130719的博客 1572

Redis笔记之Redis事务

Redis事务本质:一组命令的集合。 步骤: 开启事务 操作一组命令(所有命令放入一个队列) 执行事务

JAVA开发区的博客 483

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Redis工作笔记-事务

目录 概念 操作 概念 和其他数据库一样,Redis,作为NoSQL数据库也是同样提供了事务机制。在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令实现了事务。 下面是事务的几个特点: 1. 事务中所有的命令都被串行化,在事务执行阶段,Redis不再为其他客户端提供任何服务,保证了事务中所有命令都被...

IT1995的博客 4659

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【Redis笔记】事务

事务 MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 EXEC 命令负责触发...

通往神秘的道路的专栏 245

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Redis 事务学习笔记

Redis 为了支持事务,提供了 5 个相关的命令,他们分别是 MULTI,EXEC, WATCH,UNWATCH 和 DISCARD。我们先介绍 MULTI 和 EXEC 的用法,MULTI 和 EXEC 支持了 Redis 的基本事务的用法。接下来介绍 WATCH,UNWATCH 和 DISCARD,这3个命令则支持更高级的 Redis 事务的用法。事务允许一次执行多个命令,并且带有以下两个重要

Leo的博客 2979

Redis笔记四之Redis事务

事务是redis中的最小执行单元。在事务中封装一组命令

ty4315的专栏 524

Redis事务笔记

Redis基本事务 Redis单条命令保证原子性,事务不保证原子性。 事务命令序列化,顺序执行。 muti 开启事务 exec 执行事务 discard 取消事务 编译型异常,所有事务都不被执行 运行时异常,其他命令照常执行 Redis乐观锁 在Mysql中获取version,更新时比较version。 Redis使用watch监视,unwatch取消监视。 watch money multi decrby money 20 incrby out 20 exec 若事务执行前,有其他线程对money进行修

qq_44146257的博客 199

Redis笔记13:Redis事务

Redis事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 正常执行事务 127.0.0.1:6379> multi #开启事务 OK 127.0.0.1:6379> set name zhangsan #命令入队 QUEUED 127.0.0.1:6379>.

TARS_的博客 168

Redis笔记 -- 事务

Redis事务可以一次执行多个命令,本质是一组命令的集合,

Kaiser__的博客 626

Redis-事务笔记

redis事务的执行过程 事务从开始到结束通常会经历3个阶段: 事务开始 //MULTI 命令入队 事务执行 //EXEC 事务开始 redis > MULTI ok MULTI命令可以将客户端从非事务状态切换至事务状态,是通过在客户端状态的flags属性中打开REDIS_MUTLI标志实现的 命令入队 当客户端处于事务状态时,所有除EXEC、DISCARD、WATCH、MU...

Stark_Burton的博客 192

redis事务笔记

注意1、事务中出现错误语法,对应的事务将消失,无法exec2、事务中没有语法错误,但是语句执行会出错,会仅执行可执行语句,忽略不可执行语句已执行的命令无法回滚,需要在代码中自行回滚。

m0_55871674的博客 253

Redis事务学习笔记

Redis事务不同于MySQL事务,接下来,请跟随我的脚步,一起来学习吧提示:以下是本篇文章正文内容,下面案例可供参考。

2601_96680840的博客 695

redis笔记 - redis事务

一个客户端拿到锁之后先把数据锁上再执行操作,其他客户端发现如果被锁上了只能等待,无法控制修改数据,当第一个客户端操作完成之后释放修改后的数据,第二个客户端才能拿到数据,并根据第一个客户端操作后的数据进行相应的业务判断或者控制修改数据。2.指令集合中存在语法没有问题,但是无法正确执行的情况,例如数据类型不匹配等,会把能执行的执行了,不能执行的输出错误信息,需要程序员自己控制数据回滚。锁的作用:在事务exec(执行)之前,如果数据发生了变化,则不再修改这个key的数据,避免对一个出现数据重复操作异常。

m0_37514863的博客 197

Redis笔记——事务及整合springboot

事务 Redis的单条命令是保证原子性的,但是redis事务不能保证原子性 Redis事务本质:一组命令的集合。 ----------------- 队列 set set set 执行 ------------------- 事务中每条命令都会被序列化,执行过程中按顺序执行,不允许其他命令进行干扰。 一次性 顺序性 排他性 Redis事务没有隔离级别的概念 Redis单条命令是保证原子性的,但是事务不保证原子性! Redis事务操作过程 开启事务(multi) 命令入队 执行事务(exec) 所

qq_49182770的博客 353
上一篇: Redis持久化之AOF笔记
下一篇: redis的主从复制笔记
magicproblem
博客等级 码龄7年 22粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值