有以下几种方法
- js层面,在用户点击提交订单后禁用按钮
- 用户提交订单后进行重定向到其他页面
- 使用Redis incr 原子性递增,来解决这种高并发的秒杀或者分布式序列号生成等场景。在用户递交订单后,使用Redis的incr设置一个递增的KEY(KEY根据自己的需要设定但是要保证每一个人的唯一,个人感觉这里可以使用“cart_用户ID”,并设定其生存时间),来判断该KEY的数值,如果等于1说明这是第一次请求,如果大于1则表示这是重复提交,返回给用户“提交过于频繁,请稍后再试”。PS:设置生存时间是为了下次购物车提交而准备的,所以这里生存时间不能设置过长