<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
application.yml
redis:
port: 6379
password:
host: 127.0.0.1
jedis:
pool:
max-idle: 6 #最大空闲数
max-active: 10 #最大连接数
min-idle: 2 #最小空闲数
timeout: 5000
代码实现
需要拦截的请求
//获取请求ip
String ip = getIpRequest(request);
//设置redis 的key
String key = "reqIP:"+ip;
redis的incrBy方法自动累加器如果key为空默认返回0
Long count = redisCacheUtil.incrBy(key, 1);
if(count == 1){
//设置key的过期时间
redisCacheUtil.set(key,60);
}else if(count>10){
//60秒内如果请求超过10次抛出异常
throw new RuntimeException("操作频繁,请稍后重试!");
}
以上拦截请求操作可以在aop内实现
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。