Loading

防止恶意刷单解决

在生产场景下,很有可能会存在某些用户恶意刷单的情况出现。这样的操作对于系统而言,会导致业务出错、脏数据、后端访问压力大等问题的出现。

一般要解决这个问题的话,需要前端进行控制,同时后端也需要进行控制。后端实现可以通过Redis incrde 原子性递增来进行解决。

 更新秒杀服务下单

防重方法实现

//防止重复提交
private String preventRepeatCommit(String username,Long id) {
​
    String redisKey = "seckill_user_" + username+"_id_"+id;
    long count = redisTemplate.opsForValue().increment(redisKey, 1);
    if (count == 1){
        //设置有效期五分钟
        redisTemplate.expire(redisKey, 5, TimeUnit.MINUTES);
        return "success";
    }
​
    if (count>1){
        return "fail";
    }
    return "fail";
}

 

posted @ 2021-08-11 16:00  1640808365  阅读(339)  评论(0编辑  收藏  举报