redis实战教程(二)- 高并发、大流量限速


关键代码如下:
@Override
public void rateLimit(String key, int unitTime, long rate) {
Jedis jedis = getJedis();
Long i = jedis.setnx(key, "1");
if (i == 1L) {// 第一次设置过期时间
jedis.expire(key, unitTime);
}
Long incr = jedis.incr(key);
returnRes(jedis);
if (incr > rate) {
throw new RuntimeException(key + "在[" + unitTime + "]s  内访问超过[" + rate + "]次");
}
}
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告