访问频率以及次数控制
前言
1、在调用别人接口的时候,给我提示了下请求太过频繁,所以我添加了频率控制
2、在别人访问我们系统的时候,我们会对他访问次数进行限制
1、频率控制
try {
if(stringRedisTemplate.hasKey("taobao:esmite:freq")){ //100毫秒
TimeUnit.MILLISECONDS.sleep(100L);//底层还是Thread.sleep(ms, ns);
}
//获取排重数据
model = shenJianShouService.getCrawlerData(reqData);
pageInfoBean = model.getResult().getPage_info();
if(pageInfoBean.getEnd_cursor()!=0){
reqData.setEndCursorId( Long.valueOf(pageInfoBean.getEnd_cursor())) ;
}
}catch (Exception e){
ExceptionLogUtils.log(e,this.getClass() );
} finally {
stringRedisTemplate.opsForValue().set("taobao:esmite:freq", "1", 100, TimeUnit.MILLISECONDS);
}
2、访问次数控制
观察aop自定义注解中,前面的文章中有,或者参考代码
感兴趣的,欢迎添加博主微信,
哈,博主很乐意和各路好友交流,如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,备注您的微信或者其他联系方式。添加博主微信哦。
请下方留言吧。可与博主自由讨论哦
微信 | 微信公众号 | 支付宝 |
---|---|---|
![]() |
![]() |
![]() |