【17 > 分布式接口幂等性】2. Update的幂等性原理解析

一、 根据 唯一业务号去更新 数据的情况

1.1 原理

1.2 操作

1.3 实战

Stage 1:表添加 version 字段

Stage 2:前端 > 版本号放入隐藏域

Stage 3:后台 > 使用版本号作为更新条件

二、更新操作没有唯一业务号,可使用Token机制(后面完善)


一、 根据 唯一业务号去更新 数据的情况

1.1 原理

  • 用户查询出要修改的数据,系统将数据返回页面,将数据版本号放入隐藏域 (前端)
  • 用户修改数据,点击提交,将版本号一同提交给后台

1.2 操作

  • 后台使用版本号作为更新条件
update set version=version+1,xxx=${xxx} where id=xxx and version = ${version}
  • 使用乐观锁与update行锁,保证幂等

1.3 实战

Stage 1:表添加 version 字段

 

Stage 2:前端 > 版本号放入隐藏域

 

Stage 3:后台 > 使用版本号作为更新条件

 

二、更新操作没有唯一业务号,可使用Token机制(后面完善

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/108832.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黑马头条 热点文章实时计算、kafkaStream

热点文章-实时计算 1 今日内容 1.1 定时计算与实时计算 1.2 今日内容 kafkaStream 什么是流式计算kafkaStream概述kafkaStream入门案例Springboot集成kafkaStream 实时计算 用户行为发送消息kafkaStream聚合处理消息更新文章行为数量替换热点文章数据 2 实时流式计算 2…

IDEA2023.2.1取消空包隐藏,切换包结构(Compact Middle Packages)

解决2023版idea的包结构 取消勾选即可。 取消勾选Compact Middle Packages选项后,再创建包时,即可自动创建树形结构。 仅供学习使用!

模方新建工程时,显示空三与模型坐标系不一致怎么解决

答:检查空三xml与模型的metadata.xml的坐标系是否一致,metadata文件是否有在data目录外面。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.0新增单体化建模模块,…

安装 Gin 框架

首先需要在目录下初始化一下 go 项目 go init可以看到生成了一个go.mod文件,然后使用以下命令安装 gin 框架 go get -u github.com/gin-gonic/gin养成一个好习惯,在写项目之前先初始化项目 go mod init go mod tidy如果不初始化项目的话没有第三方库补…

递归算法学习——图像渲染,岛屿的数量,最大的岛屿

目录 ​编辑 一,图像渲染 1.题意 2.解释 3.题目接口 4.解题思路及代码 二,岛屿的数量 1.题意 2.解释 3.题目接口 4.解题思路及代码 三,最大的岛屿 1.题意 2.解释 3.题目接口 4.解题代码即思路 一,图像渲染 1.题意…

【面试题】前端开发中如何高效渲染大数据量?

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 【国庆头像】- 国庆爱国 程序员头像!总有一款适合你! 在日常工作中,较少的能遇到一次性往页面中插入大量数据的场景…

通过Git Bash将本地文件上传到本地github

1. 新建一个仓库( Repository) 1.1登录Github,点击个人头像,点击Your repositories,点击New。 1.2 填写信息 Repository name: 仓库名称 Description(可选): 仓库描述介绍,不是必填项目。~~建议填写上哦!…

IIC协议理解及驱动OLED屏

1.iic协议是串行半双工总线,主要应用于近距离,低速芯片之间通信。 两根线 SCL SDA 2.IIC总线通讯过程 1.主机发送起始信号占用总线 2.主机发送一个字节数据指明从机地址和后续字节的传输方向。 七位地址位一位来调节后续字节传输方向 最后一位&…

echarts静态饼图

<div class"cake"><div id"cakeChart"></div></div> import * as echarts from "echarts";mounted() {this.$nextTick(() > {this.getCakeEcharts()})},methods: {// 饼状图getCakeEcharts() {let cakeChart echart…

Day_14 > 指针进阶(3)> bubble函数

目录 1.回顾回调函数 2.写一个bubble_sort函数 2.1认识一下qsort函数 ​编辑2.2写bubble_sort函数 今天我们继续深入学习指针 1.回顾回调函数 我们回顾一下之前学过的回调函数 回调函数就是一个通过函数指针调用的函数 如果你把函数的指针&#xff08;地址&#xff09;…

某计费管理系统任意文件读取漏洞

文章目录 声明一、漏洞描述二、漏洞复现声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 一、漏洞描述 蓝海…

前端面试要点

0914 JScript深拷贝和浅拷贝&#xff08;js解构赋值算哪个&#xff1f;&#xff09; 深拷贝和浅拷贝 回流和重绘 回流和重绘 webpack打包流程 Webpack打包 虚拟DOM 虚拟DOM git合并分支 git合并分支 CSS盒子模型 CSS盒子模型 0911 WebPack分包 webpack分包 ts泛型 ts泛型 优化…