来,这个问题也是星球的小伙伴面试中遇到的问题
思考片刻,给出你的答案,再继续往下阅读

这道题目的答案并不复杂
核心点是增加一个单次凭证来避免重复操作
具体的实现落地步骤如下:
1,在跳转到订单支付页面前,创建一个唯一凭证,一般我们也称为令牌(注意!这个令牌不是我们的登录认证令牌),保存到Redis中,并设置一个有效期,比如一天
2,这个凭证也一起传递到前端
3,当提交订单时,前端携带这个凭证过来
4,后端查看Redis中是否存在该凭证,如果存在,则说明是合法请求,并删除Redis中的凭证
5,重复发送过来的请求,如果发现Redis中没有改凭证,则提示不要重复提交
在项目开发中,这样的问题是我们需要考虑的,那么问题来了,是不是每个类似的场景,我们都要手写这么一套逻辑,欢迎留下你的答案
小小星球,已经在逐步的成长,目前分享的内容已经快解决180篇了,当然,我们不以数量论价值,只是希望每一篇的输出都可以给你带来一些小小的收获
本文讨论了一个面试中常见的问题,如何通过在订单支付过程中使用一次性令牌来防止重复操作。作者详细描述了创建、存储和验证令牌的步骤,并提出是否需要每次都手动编写此类逻辑的讨论点。
944

被折叠的 条评论
为什么被折叠?



