首页 > 其他分享 >如何解决接口数据重复问题?

如何解决接口数据重复问题?

时间:2024-08-24 10:16:16浏览次数:10  
标签:请求 重复 用户 接口 token 解决 执行 2.4

1. 前端实现

    前端设置按钮的状态,提交以后就加载,成功以后再恢复正常状态。

    缺点:无法绝对保证不重复,但是前端实现可以减少网络请求

2. 后端通过幂等性来实现

2.1 幂等性概念

    幂等指多次操作产生的影响只会跟一次执行的结果相同,通俗的说:某个行为重复的执行,最终获取的结果是相同的,不会因为重复执行对系统造成变化。(同一个接口,多次发出同一个请求,必须保证操作只执行一次)

2.2 实现幂等口诀

    一锁二查三更新

2.3 幂等场景

    用户下单、抽奖

2.4 实现方式

2.4.1 token方式

    用户进入表单获取token,请求的时候带入token,后端判断传入的token是否存在,存在就直接提示重复,不存在存入Redis或者其他存储介质,token会有过期时间,一般5分钟

    缺点:并发时候会判断到token是不存在的,还是可能造成重复提交的问题,需要加分布式锁解决

2.4.2 唯一主键或者唯一索引

    这个字段是不能重复,比如用户表,用户名是不能重复,可以设置用户名为唯一索引。再比如活动表,用户id和活动id作为唯一索引

2.5 实现伪代码

    一锁:先加一个分布式锁 

    二判:判断请求是否执行成功过

    三更新:执行更新的业务逻辑

标签:请求,重复,用户,接口,token,解决,执行,2.4
From: https://www.cnblogs.com/cplmlm/p/18377452

相关文章

  • 直播系统开发,接口异步调用一小步,耗时减少一大步
    直播系统开发,接口异步调用一小步,耗时减少一大步随着直播系统开发业务发展,底层数据量越来越大,业务逻辑也日趋复杂化,某些接口耗时也越来越长,这时候接口就需要进行性能优化了,当然性能优化主要跟业务相关涉及改造点可能各不相同,这里就来介绍异步调用多个接口减少响应时间。适用......
  • 网络直播平台搭建,瀑布流布局完美解决方案
    网络直播平台搭建,瀑布流布局完美解决方案使用教程直接复制代码列表布局数据自己写<template><viewclass="waterfall-wrap"><viewclass="waterfall-list"><viewclass="left"><hd-list:listData="it......
  • TF SD卡突然容量变小或者名字改变并且电脑就算格式化也恢复不了原状态或者干脆windows
    我自己是因为在使用canmv系统驱动k210时把系统镜像下载到了sd tf卡中导致tf卡系统发生改变,32g变16mb而且名字也变成boot这是因为你下载的系统镜像把原来的fat32或者其他常用sd tf卡系统代替了,导致电脑识别时,你现在的sd卡系统把总大小减去自己系统所需大小剩下的剩余可用......
  • 关于对 Tomcat 进行小版本升级的快速解决方案
    1、背景描述原来的Tomcat在部署时,使用的是最新的版本9.0.40。经过一段时间后,在原来的Tomcat版本中,发现存在漏洞。因此,需要将旧版本(9.0.40)升级到没有漏洞的新版本(9.0.93)。2、查看Tomcat的版本信息如上图所示,在tomcat的bin目录下打开cmd窗口,运行version.bat程序......
  • 内置函数式接口
    只包含一个抽象方法的接口,称为函数式接口。可以通过Lambda表达式来创建该接口的对象。(若Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。在任意函数式接口上设置@FunctionalInterface注解,这样做可以检查它是否是一个函数式接口,同时javadoc也会......
  • 解决“Access to XMLHttpRequest at ‘XXX’ from origin ‘http://localhost’ has b
    解决“AccesstoXMLHttpRequestat‘http://127.0.0.1:3000/’fromorigin‘http://localhost:8080’hasbeenblockedbyCORSpolicy”在日常的Web开发中,跨源资源共享(CORS)错误是一个常见的问题,尤其是当你尝试从一个源(origin)向另一个源发送HTTP请求时。本文将......
  • REST framework:接口文档
    RESTframework通过第三方库可以自动帮助我们生成网页版的接口文档,自动接口文档能生成的是继承自APIView及其子类的视图1、安装依赖RESTframewrok生成接口文档需要coreapi库的支持 pipinstallcoreapi-ihttp://mirrors.aliyun.com/pypi/simple/--trusted-hostmirrors.......
  • 《黑神话:悟空》游戏崩溃提示“缺少X3DAudio1_7.dll”文件该怎么解决?黑神话悟空游戏闪
    若《黑神话:悟空》崩溃提示缺“X3DAudio1_7.dll”,可更新DirectX,下载安装程序按指示操作后重启;也可运行系统文件检查工具;还可使用DLL修复工具。若仍不行,可寻求专业支持,操作前记得备份重要数据。本篇将为大家带来的内容,感兴趣的小伙伴们一起来看看吧,希望能够帮助到大家。本篇将为......
  • 《黑神话:悟空》游戏闪退弹窗“找不到concrt140.dll”该怎么解决?黑神话悟空游戏崩溃提
    若《黑神话:悟空》出现“找不到concrt140.dll”闪退弹窗,可重新安装MicrosoftVisualC++2015Redistributable,或利用系统工具修复,也可更新系统、清理注册表等。还可手动下载该文件放置到对应目录,但要确保来源安全。本篇将为大家带来黑神话悟空游戏崩溃提示缺失concrt140.dll的修......
  • 《模拟人生4》 游戏闪退提示“找不到atl80.dll文件”怎么解决?模拟人生4游戏崩溃弹窗缺
    当模拟人生4游戏出现崩溃弹窗且提示缺失atl80.dll时,可尝试以下几种修复方法。首先可重新安装游戏,确保其完整性。也需时常更新操作系统,维持系统稳定性和兼容性。还能手动从可信的dll下载网站获取atl80.dll文件,将其放置到模拟器安装目录下的适当文件夹,或系统的system32(32位系统)、......