乐观锁与分布式的理解

乐观锁

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

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

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

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

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

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

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

数据是覆盖更新时

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

分布式

多个节点通过网络连接

页面与接口就是分布式的

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

相关推荐
donk13149 小时前
React Native for OpenHarmony 实战:三方库 react-native-step-indicator 的鸿蒙化适配指南
分布式·react native·react.js·wpf·harmonyos
梅菲塔亚11 小时前
Ceph分布式存储
分布式·ceph
acrel713 小时前
Acrel-1000系列分布式光伏监控系统在湖北荆门一马光彩大市场屋顶光伏发电项目中应用
分布式·光伏并网
程序 代码狂人14 小时前
金融数仓体系与核心业务知识详解
大数据·分布式·spark
java_nnnn16 小时前
Redis 初识:从单体架构到分布式架构的演进
redis·分布式·架构
Sayai16 小时前
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程
大数据·运维·分布式·zookeeper·kafka
敲上瘾17 小时前
分布式系统——Redis哨兵:自动故障转移与选举原理
linux·数据库·redis·分布式·缓存·微服务
微三云 - 廖会灵 (私域系统开发)1 天前
供应链系统实战:多渠道订单聚合与分布式库存一致性方案总结
开发语言·分布式·php
她说可以呀1 天前
Docker 镜像的两种创建方式
java·分布式·docker