控制服务器处理请求的数量(高并发)-防止用户重复点击导致多次请求
来源:互联网 发布:电脑装linux系统 编辑:程序博客网 时间:2024/06/05 18:46
private final AtomicInteger tick = new AtomicInteger();
@ResponseBody
@RequestMapping(value = "/url", method = { RequestMethod.POST })
public String geturl(参数) {
try {
if (waitInLine()) {
return 告诉用户现在系统处理能力不足,稍候再试;
}
// 判断是否重复点击
if (isFrequently(memberId)) {
return 告诉用户不要重复点击按钮,系统正在处理上一次的请求;
}
//业务代码
return 业务代码后的返回结果;
}
} catch (Exception e) {
return CommonConstant.gson.toJson(packetResult);
} finally {
//一定要写finally
tick.decrementAndGet();
}
}
/**
* 判断是否超出处理范围
*
* @return
*/
private boolean waitInLine() {
return tick.incrementAndGet() > 1000;//表示系统最多同时处理1000个请求
}
/**
* 判断是否提交过频繁
*
* @param memberId
* 会员id
* @return
*/
public boolean isFrequently(String memberId) {
ShardedJedis jedis = null;
try {
jedis = RedisFactory.getJedis();
if (CommonUtils.isNull(jedis.get(memberId))) {
jedis.set(memberId, "");
jedis.expire(memberId, 1);//1秒后标记就消失
} else {
return true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
RedisFactory.returnResource(jedis);//回收连接
}
return false;
}
- 控制服务器处理请求的数量(高并发)-防止用户重复点击导致多次请求
- iOS 防止UIButton 连续点击导致请求多次的问题!
- 防止用户多次点击按钮,导致发送多次请求或者其他问题。
- 防止用户连续多次点击提交请求,防止对服务器造成负担
- 高并发重复请求的去重处理(转)
- 防止按钮的重复点击导致的请求的重复响应
- 高并发重复请求的去重处理
- 防止用户多次点击按钮导致页面被多次提交
- 【微信小程序】下拉加载多次请求的解决方案,避免用户多次发起请求降低业务处理。
- Tomcat 默认支持的处理请求的并发数量
- 解决分布式环境中多线程高并发重复请求服务器。造成的数据冗余问题
- js中防止连续点击按钮导致多次重复提交数据的方法
- 服务器设计-处理并发请求
- 高并发高访问请求的处理方法
- android 防止按钮多次点击的处理?
- 并发请求导致的业务处理安全风险及解决方案
- 并发请求导致的业务处理安全风险及解决方案
- ASIHTTPRequest多次重复请求的问题
- android edittext 边框 阴影 实现
- FPGA中IBUFDS、IBUFGDS、OBUFDS的运用
- linux内核启动过程分析
- 自定义vue全局组件use的使用
- Window 安装两个版本JDK,配置其中一个
- 控制服务器处理请求的数量(高并发)-防止用户重复点击导致多次请求
- android 使用Robotium自动化测试
- MySQL查询:查询一个表中类别字段中Max()最大值对应的记录
- java集合分析(7):ArrayList
- 随记
- 安卓开发中Banner添加头布局结合PullToRefresh实现上拉下拉
- wk2168驱动调试(二)
- android 应用覆盖安装显示程序未安装
- 如何按行政区划下载谷歌卫星地图并裁剪