redis限流

//redis限流
public boolean tryAcuire(String key,int expireSeconds,int checkNum){
boolean acquireResult = redisClient.execute(key, new JedisAction<Boolean>() {
@Override
public Boolean action(Jedis jedis) {
try {
String setNxResult = jedis.set(key, "1", "NX", "EX",expireSeconds);
if("OK".equals(setNxResult)){
return true;
}
Long num = jedis.incr(key);
if (num == 1) {
jedis.expire(key, expireSeconds);
}
if (num > checkNum) {
return false;
}
return true;
} catch (Exception e) {
LOGGER.error("acquireResult error", e);
}
return true;
}
});
return acquireResult;
}

猜你喜欢

转载自www.cnblogs.com/tilamisu007/p/12518372.html
今日推荐