乐观锁与分布式的理解

乐观锁

认为很少发生并发,只在最后检查一下

怎么检查(当前读加锁,拿到最新数据,进行比对)

根据update语句返回的int比对,与预期数量一致

一条记录更新最直观最简单 判断1即可(比如审核时检查状态,再更新状态,更新条件带上原状态,返回 1 则更新成果,之前遇到并发审核 导致重复操作产生)

多条记录更新时只是 id不同且其它条件一致 比如 状态都是 0 改成 1,先查出要更新的条数,更新时使用 update when case 获取更新条数 进行比对即可

如果更新条件除了 id,还有其它条件不一致,则需要共享一把乐观锁,比如给主单加一个 乐观锁

什么时候把乐观锁标记放到页面?

数据是覆盖更新时

如果是增量更新防止事务层并发就要可以

分布式

多个节点通过网络连接

页面与接口就是分布式的

页面看到的数据不是最新的,接口存储时要进行检查,确保一致性。不一致性要求用户重试,牺牲可用性

相关推荐
牛油果子哥q13 小时前
【Redis分布式高阶篇】Redis分布式锁底层精讲:从裸锁缺陷到Redisson源码级落地,解决超时释放、锁失效、主从漏洞、锁续约难题
数据库·redis·分布式
2601_9578885613 小时前
分布式新媒体架构:短视频矩阵系统的技术痛点、算法规则与效率优化实践
分布式·架构·媒体
闪电悠米14 小时前
黑马点评-Redisson-02_reentrant_lock
java·spring boot·redis·分布式·缓存
2601_9578848415 小时前
分布式媒体矩阵系统的任务调度架构:高并发分发队列与背压控制控制实践
分布式·矩阵·媒体
Kyrie_Li16 小时前
Kafka-安装和配置(搭建环境)
分布式·kafka
逻极16 小时前
MongoDB 从入门到精通:文档数据库的灵活之道
分布式·mongodb·nosql·聚合框架
大G的笔记本16 小时前
分布式事务实战
分布式
AI浩17 小时前
梯度累积与 Micro-Batch 设计分层式精讲:有效批次、显存边界与分布式同步
开发语言·分布式·batch
l1t17 小时前
DeepSeek总结的从 DeepSeek 到 Quack:分布式 DuckDB 的梦想何时开始变得真实
数据库·分布式
钝挫力PROGRAMER17 小时前
BugFixed:etcd 单节点宕机后数据“消失”
分布式·etcd