JAVA后端如何保证业务操作的幂等性
JAVA后端如何保证业务操作的幂等性
说到幂等性,应该很多人都知道这个词,顾名思义,就是无论操作多少次,产生的结果都是相等的。尤其是交易中,在开发过程中,时时刻刻要考虑交易的幂等性,例如,客户端因为网络原因,发起了多次相同的交易请求,这个时候,无论发起了多少次,对于后台来说,产生的结果肯定要保证是相同的。那么如何保证操作的幂等性呢?
查询的幂等性
查询操作天然是幂等的,同样的数据,无论你查询多少次,都不会对数据造成改变。
更新的幂等性
对于更新,可能存在重复更新的可能性,因此需要做其他的操作来保证幂等性,可以考虑使用数据version、行锁、分布式锁等来处理。
新增的幂等性
对于新增操作,存在重复新增的可能性,显然是非幂等性的,要保证幂等性,可以考虑在表中添加唯一索引或者联合唯一索引的方式来处理。
删除的幂等性
删除本身就是幂等性的,无论你删除多少次,参数相同的情况下,删除产生的结果都是相同的。
JAVA后端如何保证业务操作的幂等性相关推荐
- java后端对Cookie进行操作
java后端对Cookie进行操作 前言 这里简要介绍使用java对Cookie进行操作的方法, 但并不建议使用Cookie,因为有些用户会禁用网站使用的Cookie,如果使用不当会导致用户无法使 ...
- Java后端如何保证用户注册登录接口的安全性之用户注册篇
现在的面试难免显得有些教科书式,面试官往往会问应试者一些跟自己现有项目压根用不上的新技术,以及一些所谓的基础知识,然后招到的往往又都是理论知识很丰富,前言技术又很熟悉,但是处理起实际业务时就只能呵呵的 ...
- Java后端开发工程师是否该转大数据开发?
背景 看到一些java开发工程师,对java后端薪酬太悲观了.认为换去大数据领域就会高工资.觉得java后端没有前途.我从事java后端开发,对大数据领域工作有些了解,但不深入.本文描述一下我对jav ...
- 【Java 并发编程】线程操作原子性问题 ( 问题业务场景分析 | 使用 synchronized 解决线程原子性问题 )
文章目录 总结 一.原子性问题示例 二.线程操作原子性问题分析 三.使用 synchronized 解决线程原子性问题 总结 原子操作问题 : 线程中 , 对变量副本 count 进行自增操作 , 不 ...
- Java后端技术面试汇总(第一套)
面试汇总,整理一波,doc文档可点击[ 此处下载] 1.基础篇 1.1.Java基础 • 面向对象的特征:继承.封装和多态 • final, finally, finalize 的区别 • Excep ...
- java后端内部面试题
21.什么时候不要使用索引? 1. 经常增删改的列不要建立索引: 2. 有大量重复的列不建立索引: 3. 表记录太少不要建立索引. 22.说说什么是 MVCC? 多版本并发控制(MVCC=Multi- ...
- 面向面试的Java后端必会知识点概述及面经
博主本人是非科班硕士,今年三四月份时开始刷题准备找工作.实习加秋招投了很多大厂&中厂,但是有小一半都没能进面试.秋招最终拿到了OPPO提前批测开.腾讯音乐后台开发.阿里云Java开发的offe ...
- 【详细总结】你所需要掌握的Java后端知识点
目录 Spring Spring框架的七大模块 Bean定义5种作用域 spring ioc初始化流程? BeanDefinition加载流程? DI依赖注入流程? (实例化,处理Bean之间的依赖关 ...
- java后端面试不知道多少家重庆的公司得来的题目总结
面试题目总结 前言 JWT使用 token是如何生成 微服务链路检测 泛型的实现 cglib的实现 有哪些开发规范 你对雪崩效应的看法 看过哪些源代码 熔断器的使用 高并发场景 mybatis一级缓存 ...
最新文章
- html 中embed标签使用
- 为什么docker比VM快?
- Python pip 国内镜像大全及使用办法
- php传输的多个id集中为一条记录,如何将多个ID应用于Mysql中的一条记录?
- Python显示文本
- 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换
- 论Postgres的“已提交的而且 xmin’比当前事务的XID小的记录对当前事务才是可见的”...
- ESX的VSWITCH坏了,如何转移到新建的虚拟交换机上?
- SaaS、PaaS、IaaS典型的云计算解决方案架构
- 股票成本价买入价计算器 V1.3
- Linux安装maven详细步骤
- 威尔特拉斯定理_维尔斯特拉斯函数-魏尔斯特拉斯给出的那个函数是什么此函数处处连续但处处不可导,我只 爱问知识人...
- java如何创建长连接_Java如何实现长连接
- 测相伪距观测方程、线性组合
- AWS 云上安全最佳实践
- 垃圾大学,想自学 Java 可以吗?难吗?毕业后能找到一份 6k左右的工作吗?
- word自带公式等号对齐(可任意符号处对齐)
- 存储芯片引脚和时序:SRAM(HY6264A系列)
- Win11终于兼容安卓App!微软推送安卓子系统
- 24.Odoo产品分析 (三) – 人力资源板块(5) – 出勤(1)
热门文章
- Espresso Idling Resource 使用
- web前端程序员到底值多少钱?
- python建筑案例_有哪些关于 Python 在建筑中的应用和教程?
- python读取usb数据显示_在python中从各种usb设备读取和存储各种数据
- 【JZOJ5234】外星人的路径
- python语言求球的体积,改进蒙特卡罗程序求高维球体体积。(Python)
- 【BZOJ1135】[POI2009]Lyz 线段树
- Android 8.1 DisplayPowerController(二) Proximity Sensor的亮灭屏
- 【Python】绘制三维立体图
- Python 批量下载SIGMOD,VLDB的论文 Mac OS