java redis 自增_Java利用Redis实现高并发计数器的示例代码

本文通过示例代码介绍了如何在Java中利用Redis的Incr命令创建高并发计数器,以实现接口调用限制。示例中展示了如何检查是否超过限制并拦截请求,以及使用JedisUtil工具类进行自增操作。
摘要由CSDN通过智能技术生成

业务需求中经常有需要用到计数器的场景:譬如一个手机号一天限制发送5条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等。使用Redis的Incr自增命令可以轻松实现以上需求。以一个接口一天限制调用次数为例:

/**

* 是否拒绝服务

* @return

*/

private boolean denialOfService(String userId){

long count=JedisUtil.setIncr(DateUtil.getDate()+"&"+userId+"&"+"queryCarViolation", 86400);

if(count<=10){

return false;

}

return true;

}

/**

* 查询违章

* @param plateNumber车牌

* @param vin 车架号

* @param engineNo发动机

* @param request

* @param response

* @throws Exception

*/

@RequestMapping("/queryCarViolationList.json")

@AuthorizationApi

public void queryCarViolationList(@CurrentToken Token token,String plateNumber,String vin,

Str

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值