乐观锁与分布式的理解

乐观锁

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

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

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

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

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

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

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

数据是覆盖更新时

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

分布式

多个节点通过网络连接

页面与接口就是分布式的

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

相关推荐
山甫aa7 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
严肃小白兔1 天前
Cloudflare Durable Objects 支持自动重试:分布式调用如何避免重复执行?
分布式
方方洛1 天前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
方方洛2 天前
ray教程-25-附录E-端到端实战案例
人工智能·分布式·机器学习
迅翼SwiftWing3 天前
编队系列(二)|固定翼如何依靠邻居信息保持队形?一致性控制、通信拓扑与分布式仿真实现,附仿真代码
分布式
ly76893 天前
幂等消费者与重试副作用:Kafka 端点接入时的去重边界
分布式·kafka·linq·apache camel·幂等消费者·重试副作用·去重边界
qq_452396233 天前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生
真上帝的左手4 天前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
程序猿乐锅4 天前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight
sunny06604 天前
推理 INFRA 方法论(2):分布式推理:TP、DP、EP、CP 与 PP 的取舍
人工智能·分布式