redis执行lua脚本的原子性和数据库原子性的区别

一、redis执行lua脚本的原子性和数据库原子性的区别

当我们想在redis的一个事物当中执行多个命令的时候呢,会选择使用lua脚本。Redis会将一个要执行的lua脚本封装成一个单独的事务,而脚本执行器在执行这个事务的过程中呢,如果有其他的客户端请求过来,redis会把它暂存起来,等脚本处理完以后,才会把暂存的请求恢复执行。这样就可以保证整个脚本是作为一个整体执行的,中间不会被其他的命令插入。但是,如果事务执行的过程中产生了错误,事务是不会回滚的,也不会影响后续的命令执行,也就是说,Redis会保证以原子方式执行lua脚本,但是不保证脚本中的所有的操作要么都执行,要么都回滚这件事儿。那也就意味着,Redis lua脚本的执行可以保证并发编程当中那个不可拆分,不可被中断的这个原则性,但是没有办法保证数据库ACID当中的那个要么都执行,要么都回滚的。

相关推荐
Nturmoils1 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶1 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕1 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女2 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴2 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因
这个DBA有点耶2 小时前
MySQL 8.0.20移除了Block Nested Loop,之前学的JOIN优化知识还适用吗?
数据库·mysql·架构
吉甫作诵3 小时前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql
2501_933670793 小时前
库存管理分析岗校招能力模型:SQL、库存周转、补货预测怎么准备
数据库
属于自己的天空3 小时前
不用再手动查表结构了:配好 MCP,Claude Code 自己读数据库生成代码
数据库·后端
Y3815326623 小时前
SERP 数据清洗实战:字段标准化、日期解析与去重键
开发语言·数据库·python·python数据库