当前位置: 首页 > article >正文

Redis到底支不支持事务?半事务

redis是支持事务的,它与传统的关系数据库中的事务有所不同。注意:可以理解半事务,官网没这个概念

1.原子性:

redis事务保证的是队列中的命令作为一个整体要么全部执行,要么全部不执行。但是,如果事务中的某个命令因为执行错误而失败,redis会继续执行事务中的其他命令,而不是回滚整个事务。

2. 无隔离级别:

Redis 事务中的命令在提交前不会被实际执行,因此不存在 事务 传统数据库中的事务隔离级别问题,如脏读、不可重复读或幻读。 事务

3. 命令队列:

当客户端发送 multi 命令后,所有随后的命令都会被放入一个 队列中,而不是立即执行。当 exec 命令被发送时,Redis 会尝试执行队列 中的所有命令。

4. 乐观锁:

Redis 使用 watch 命令来实现乐观锁机制。客户端可以监控一个 或多个键,如果在执行 exec 之前这些键的值被其他客户端改变,事务将不 会执行。

5. 自动放弃:

如果事务因为监控键被修改而不能执行,ex 事务 ec 命令将放弃当前 队列命令,返回 null。

6. discard 命令:

如果客户端在发送 multi 之后决定放弃事务,可以使用 事务 discard 命令来清空事务队列并退出事务状态。 事务 事务

7. 有限的回滚:

Redis 事务不支持命令级别的回滚。如果事务中的某个命令 事务 事务 失败,Redis 会停止执行后续命令,而不是回滚到事务开始前的状态。


http://www.kler.cn/a/381437.html

相关文章:

  • AI开发-三方库-torch-torchvision
  • 【图论】——理论基础总结
  • Android App 技能在DuerOS的调试方法
  • qt QMenuBar详解
  • 矩阵的奇异值分解SVD
  • 基于 RNN 的语言模型
  • pycharm中的服务是什么?
  • Docker篇(学习前言)
  • 【Fargo】22:H.264文件读取并RTP分片打包
  • 练习LabVIEW第四十题
  • 在 Windows 中简化 Nginx 命令行操作
  • EL面包屑导航实现
  • (JVM)我们该如何认识 Java的内存模型(Java Memory Model(JMM))? 本篇文章告诉你答案 !带你全面了解JMM
  • 微控制器(MCU)如何运行存储在Flash的程序???
  • 数据分析挖掘系统-全方位洞察与决策
  • 众测遇到的一些案列漏洞
  • 从安全角度看多线程(附Golang举例)
  • QT中OpenGL学习笔记1
  • 全同态加密基于多项式环计算的图解
  • 基于Leaflet的自助标绘源码解析-其它对象解析
  • 文件上传漏洞修复措施
  • 论文 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES
  • 酒店民宿小程序,探索行业数字化管理发展
  • 文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《融合引调水工程的抽水蓄能电站与光伏联合运行短期优化调度模型 》
  • 单臂路由技术,eNSP实验讲解
  • 搭建你的私人云盘:使用File Browser与cpolar实现公网传输文件