当前位置: 首页 > news >正文

谷粒商城——通过接口幂等性防止重复提交订单

如果用户向后端服务提交多次相同订单的提交服务,那么后端应该只生成一条订单记录。

有一些操作天然是幂等的,如查询操作和删除操作等。

幂等性实现

1.token机制(仅这个方法适用于订单的重复提交

后端先生成1个令牌将其记录在Redis中并将这令牌返回给前端,前端在提交订单信息的时候会在请求头中加入令牌信息,后端会检验令牌信息,校验成功后删除该令牌将订单记录插入数据库中,因此后续重复的提交操作会因Redis无该令牌消息从而校验失败。此过程中校验令牌、删除令牌这两步组合成的事务要保证原子性。

2.数据库的锁机制(使用乐观锁机制)

乐观锁机制:适合在更新场景使用,不适用于防止重复提交订单场景

3. 分布式锁

http://www.lryc.cn/news/330202.html

相关文章:

  • 谈谈MVCC机制
  • Linux之用户账号、用户组和与账号有关的系统文件
  • mac 安装 pip,如果你的电脑已经有 python3
  • java 枚举
  • Java学习之类和对象、内存底层
  • 递归遍历目录结构和树状展现
  • 【C++的奇迹之旅(二)】C++关键字命名空间使用的三种方式C++输入输出命名空间std的使用惯例
  • 如何通过针对iOS的动态分析技术绕过反调试机制
  • 33.Python从入门到精通—Python3 正则表达式 re.match函数 re.search方法 re.match与re.search的区别
  • 便携式气象站是什么
  • AIGC重塑金融:AI大模型驱动的金融变革与实践
  • TP4054替代DP4054锂电池供电电路保护方案
  • 前端JS商品规格组合
  • ⾃定义类型:联合和枚举
  • Spring IOC控制反转、DI注入以及配置
  • RabbitMQ的部分模式
  • 提取单选框的值,并通过ajax传值到后台
  • Django创建多app应用
  • 如何反反爬虫
  • wireshark抓包之DNS协议
  • 升级到 Java 21 是值得的
  • C# 多线程
  • 快速安装sudachipy日语包
  • 蓝桥杯刷题day13——乘飞机【算法赛】
  • 大模型量化技术-BitsAndBytes
  • EasyExcel 复杂表头的导出(动态表头和静态表头)
  • centos7 fatal error: curl/curl.h: No such file or directory
  • 【Linux】自定义协议+序列化+反序列化
  • 常见故障排查和优化
  • 选择华为HCIE培训机构有哪些注意事项