java如何防止重复下单
2023-01-10阅读(988)

问:商城java如何限定用户下单太多
- 答:首先就是对用户频繁下单的限制,这里你可以在redis里写入一个和用户id相关的key。设置20秒左右的失效时间,这样如果是正常用户的话在这个时间里一般会避免这种情况的发生。然后从订单的角度来说,这样一个用户就算下了大量的订单也不会太多,然后写个定时任务,对下单超过30分钟还没支付的订单进行处理,比如给他的订单状态设置成已删除这种。
其实这种问题应该是从产品的角度来解决的。而不是让一个程序员去想如何限制用户的行为。作为产品应该相处解决方案,然后程序员去实现。不过目前看来你这可能是个练手的项目,我跟你说下我之前项目的一些解决方案。
当然我们做的商城属于一个项目内置的,买周边和虚拟物品的,所以访问量不大。太大的量的话最好还是先让产品来想如何限制。
问:java后台接口 怎么防止重复提交
- 答:既然是接口,就要考虑破坏性访问,考虑情况有很多,我个人用真实IP+访问action路径+XX 组成锁,直到该次动作结束,这锁才打开
- 答:设置一个flag标志,判断它的值就行啊
问:纯java的后台接口工程,怎么防止app客户端重复提交请求?
- 答:防表单重复提交:
前端控制,使用js将提交按钮变灰(不可二次点击)
web端的话使用session,生成一个token(随机产生的字符串)存入session,页面使用EL表达式获得,表单提交时将token也传入后台,对token进行判断。
数据库表加约束,比如唯一约束