Redis进阶(二):事务

redis事务特点

弱化的原子性

redis事务的原子性不像MySQL原子性一样,执行不成功的话,redis事务不会进行回滚操作

不具备一致性

redis没有约束,也没有回滚机制,因此事务执行的过程中如果某个修改操作出现失败,就可能引起前后不一样的结果

不具备持久性

redis本身就是内存数据库,数据存储在内存中的。而且持久化机制和事务的持久性没有啥直接关系

不涉及隔离性

redis是单线程的服务器程序,命令都是串行执行的

认识redis事务

redis事务一大重点在于将一些命令打包到一起。开启事务的时候,此时客户端将输入命令发给服务器并且进入一个队列,当遇到"执行事务"命令的时候,此时就会把队列中的这些任务按照顺序依次执行,这是在redis主线程完成的,主线程将事务中的所有任务执行完,再去做别的任务。

事务命令

开启事务 MULTI
执行事务 EXEC
放弃当前事务 DISCARD
监控key WATCH

watch指令可以监控key在multi和exec之间,看看这个key有没有被外部的客户端所修改

watch实现原理

redis的watch基于版本号这样的机制实现了类似乐观锁。

因此watch实际上就是在exec处加上一个判定条件罢了

相关推荐
程序员天天困8 分钟前
Java 项目用 Single-flight 一招终结 AI 接口重复调用
redis·后端
VX_bysjlw9851 小时前
基于微信小程序的宠物用品商城系统-后端74346-计算机毕设原创(免费领源码+带部署教程)
java·redis·微信小程序·eclipse·mybatis·idea·微信开发者工具
l1t2 小时前
DeepSeek总结的DuckLake 架构深度剖析-2
数据库·架构
YOU OU2 小时前
Redis事务
数据库·redis·缓存
数智化管理手记3 小时前
财务大数据怎么管住资金风险?财务大数据和财务数智化到底怎么结合?
大数据·网络·数据库·人工智能·数据挖掘
晓子文集3 小时前
Tushare接口文档:指数成分和权重(index_weight)
大数据·数据库·python·金融·量化投资
吴声子夜歌3 小时前
MongoDB 4.2——入门指南
数据库·mongodb
吴声子夜歌3 小时前
MongoDB 4.x——高可靠
数据库·mongodb
light blue bird3 小时前
组轴式执行引擎 ✅ 多线程调度组装组件
数据库·信息可视化·oracle·桌面端winform·多节点端·gdi图表绘制开发
码农学院3 小时前
Node.js MongoDB构建户外用品GEO优化内容管理平台
数据库·mongodb·node.js