JAVA后端如何保证业务操作的幂等性

说到幂等性,应该很多人都知道这个词,顾名思义,就是无论操作多少次,产生的结果都是相等的。尤其是交易中,在开发过程中,时时刻刻要考虑交易的幂等性,例如,客户端因为网络原因,发起了多次相同的交易请求,这个时候,无论发起了多少次,对于后台来说,产生的结果肯定要保证是相同的。那么如何保证操作的幂等性呢?

查询的幂等性

查询操作天然是幂等的,同样的数据,无论你查询多少次,都不会对数据造成改变。

更新的幂等性

对于更新,可能存在重复更新的可能性,因此需要做其他的操作来保证幂等性,可以考虑使用数据version、行锁、分布式锁等来处理。

新增的幂等性

对于新增操作,存在重复新增的可能性,显然是非幂等性的,要保证幂等性,可以考虑在表中添加唯一索引或者联合唯一索引的方式来处理。

删除的幂等性

删除本身就是幂等性的,无论你删除多少次,参数相同的情况下,删除产生的结果都是相同的。

JAVA后端如何保证业务操作的幂等性相关推荐

  1. java后端对Cookie进行操作

    java后端对Cookie进行操作 前言 ​ 这里简要介绍使用java对Cookie进行操作的方法, 但并不建议使用Cookie,因为有些用户会禁用网站使用的Cookie,如果使用不当会导致用户无法使 ...

  2. Java后端如何保证用户注册登录接口的安全性之用户注册篇

    现在的面试难免显得有些教科书式,面试官往往会问应试者一些跟自己现有项目压根用不上的新技术,以及一些所谓的基础知识,然后招到的往往又都是理论知识很丰富,前言技术又很熟悉,但是处理起实际业务时就只能呵呵的 ...

  3. Java后端开发工程师是否该转大数据开发?

    背景 看到一些java开发工程师,对java后端薪酬太悲观了.认为换去大数据领域就会高工资.觉得java后端没有前途.我从事java后端开发,对大数据领域工作有些了解,但不深入.本文描述一下我对jav ...

  4. 【Java 并发编程】线程操作原子性问题 ( 问题业务场景分析 | 使用 synchronized 解决线程原子性问题 )

    文章目录 总结 一.原子性问题示例 二.线程操作原子性问题分析 三.使用 synchronized 解决线程原子性问题 总结 原子操作问题 : 线程中 , 对变量副本 count 进行自增操作 , 不 ...

  5. Java后端技术面试汇总(第一套)

    面试汇总,整理一波,doc文档可点击[ 此处下载] 1.基础篇 1.1.Java基础 • 面向对象的特征:继承.封装和多态 • final, finally, finalize 的区别 • Excep ...

  6. java后端内部面试题

    21.什么时候不要使用索引? 1. 经常增删改的列不要建立索引: 2. 有大量重复的列不建立索引: 3. 表记录太少不要建立索引. 22.说说什么是 MVCC? 多版本并发控制(MVCC=Multi- ...

  7. 面向面试的Java后端必会知识点概述及面经

    博主本人是非科班硕士,今年三四月份时开始刷题准备找工作.实习加秋招投了很多大厂&中厂,但是有小一半都没能进面试.秋招最终拿到了OPPO提前批测开.腾讯音乐后台开发.阿里云Java开发的offe ...

  8. 【详细总结】你所需要掌握的Java后端知识点

    目录 Spring Spring框架的七大模块 Bean定义5种作用域 spring ioc初始化流程? BeanDefinition加载流程? DI依赖注入流程? (实例化,处理Bean之间的依赖关 ...

  9. java后端面试不知道多少家重庆的公司得来的题目总结

    面试题目总结 前言 JWT使用 token是如何生成 微服务链路检测 泛型的实现 cglib的实现 有哪些开发规范 你对雪崩效应的看法 看过哪些源代码 熔断器的使用 高并发场景 mybatis一级缓存 ...

最新文章

  1. html 中embed标签使用
  2. 为什么docker比VM快?
  3. Python pip 国内镜像大全及使用办法
  4. php传输的多个id集中为一条记录,如何将多个ID应用于Mysql中的一条记录?
  5. Python显示文本
  6. 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换
  7. 论Postgres的“已提交的而且 xmin’比当前事务的XID小的记录对当前事务才是可见的”...
  8. ESX的VSWITCH坏了,如何转移到新建的虚拟交换机上?
  9. SaaS、PaaS、IaaS典型的云计算解决方案架构
  10. 股票成本价买入价计算器 V1.3
  11. Linux安装maven详细步骤
  12. 威尔特拉斯定理_维尔斯特拉斯函数-魏尔斯特拉斯给出的那个函数是什么此函数处处连续但处处不可导,我只 爱问知识人...
  13. java如何创建长连接_Java如何实现长连接
  14. 测相伪距观测方程、线性组合
  15. AWS 云上安全最佳实践
  16. 垃圾大学,想自学 Java 可以吗?难吗?毕业后能找到一份 6k左右的工作吗?
  17. word自带公式等号对齐(可任意符号处对齐)
  18. 存储芯片引脚和时序:SRAM(HY6264A系列)
  19. Win11终于兼容安卓App!微软推送安卓子系统
  20. 24.Odoo产品分析 (三) – 人力资源板块(5) – 出勤(1)

热门文章

  1. Espresso Idling Resource 使用
  2. web前端程序员到底值多少钱?
  3. python建筑案例_有哪些关于 Python 在建筑中的应用和教程?
  4. python读取usb数据显示_在python中从各种usb设备读取和存储各种数据
  5. 【JZOJ5234】外星人的路径
  6. python语言求球的体积,改进蒙特卡罗程序求高维球体体积。(Python)
  7. 【BZOJ1135】[POI2009]Lyz 线段树
  8. Android 8.1 DisplayPowerController(二) Proximity Sensor的亮灭屏
  9. 【Python】绘制三维立体图
  10. Python 批量下载SIGMOD,VLDB的论文 Mac OS