当前位置: 首页 > news >正文

免费建立国外网站网站接广告

免费建立国外网站,网站接广告,自做网站好做吗,自己电脑怎么做网站服务器吗限流整个流程过程 1.首先用户的请求进来,将用户ip和uri组成key,timestamp为value,放入zset 2. 更新当前key的缓存过期时间,这一步主要是为了定期清理掉冷数据,和上面我提到的常见错误设计2中的意义不同 3. 删除窗口之…

限流整个流程过程

1.首先用户的请求进来,将用户ip和uri组成key,timestamp为value,放入zset
2. 更新当前key的缓存过期时间,这一步主要是为了定期清理掉冷数据,和上面我提到的常见错误设计2中的意义不同
3. 删除窗口之外的数据记录
4. 统计当前窗口中的总记录数
5. 如果记录数大于阈值,则直接返回错误,否则正常处理用户请求

首先是定义一个注解,方便后续对不同接口使用不同的限制频率

package org.jeecg.common.aspect.annotation;import java.lang.annotation.*;/*** @Author xu* @create 2023/8/2 19*/
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RequestLimit {// 限制时间 单位:秒(默认值:一分钟)long period() default 60;// 允许请求的次数(默认值:5次)long count() default 5;}

切面AOP处理逻辑

package org.jeecg.common.aspect;import lombok.extern.log4j.Log4j2;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.jeecg.common.aspect.annotation.RequestLimit;
import org.jeecg.common.exception.JeecgBootException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.stereotype.Component;import javax.servlet.http.HttpServletRequest;
import java.util.concurrent.TimeUnit;/*** @Author xu* @create 2023/8/2 19*/
@Aspect
@Component
@Log4j2
public class RequestLimitAspect {@AutowiredRedisTemplate redisTemplate;// 切点@Pointcut("@annotation(requestLimit)")public void controllerAspect(RequestLimit requestLimit) {}@Around("controllerAspect(requestLimit)")public Object doAround(ProceedingJoinPoint joinPoint, RequestLimit requestLimit) throws Throwable {long period = requestLimit.period();long limitCount = requestLimit.count();Object[] args = joinPoint.getArgs();String ip = null;String url = null;for (Object arg : args) {if (arg instanceof HttpServletRequest) {HttpServletRequest request = (HttpServletRequest) arg;ip = request.getRemoteAddr();url = request.getRequestURI();break;  // 如果找到了符合条件的参数,可以选择跳出循环}}String key = "req_limit_".concat(url).concat(ip);ZSetOperations zSetOperations = redisTemplate.opsForZSet();long currentMs = System.currentTimeMillis();zSetOperations.add(key, currentMs, currentMs);redisTemplate.expire(key, period, TimeUnit.SECONDS);zSetOperations.removeRangeByScore(key, 0, currentMs - period * 1000);Long count = zSetOperations.zCard(key);if (count > limitCount) {log.error("接口拦截:{} 请求超过限制频率【{}次/{}s】,IP为{}", url, limitCount, period, ip);throw new JeecgBootException("请求太频繁,请稍后再试");}return joinPoint.proceed();}}

Controller层使用

	@AutoLog(value = "访客数据-添加")@RequestLimit(count = 2,period = 20)@ApiOperation(value="访客数据-添加", notes="访客数据-添加")@PostMapping(value = "/verifySave")public Result<?> verifySave(@RequestBody SysVisitantData sysVisitantData,HttpServletRequest request) {String ip = request.getRemoteAddr();String url = request.getRequestURI();return Result.OK("添加成功!");}

文章转载自:
http://clypeus.Lbqt.cn
http://photochronograph.Lbqt.cn
http://dromomania.Lbqt.cn
http://tastily.Lbqt.cn
http://node.Lbqt.cn
http://wattled.Lbqt.cn
http://sahelian.Lbqt.cn
http://uncensored.Lbqt.cn
http://capybara.Lbqt.cn
http://minimi.Lbqt.cn
http://baywood.Lbqt.cn
http://minny.Lbqt.cn
http://obturate.Lbqt.cn
http://seneca.Lbqt.cn
http://chin.Lbqt.cn
http://disclaimer.Lbqt.cn
http://signatory.Lbqt.cn
http://autogenetic.Lbqt.cn
http://piccalilli.Lbqt.cn
http://camenae.Lbqt.cn
http://cornetcy.Lbqt.cn
http://thrave.Lbqt.cn
http://scuff.Lbqt.cn
http://penis.Lbqt.cn
http://coarsen.Lbqt.cn
http://unregenerate.Lbqt.cn
http://thibet.Lbqt.cn
http://dauphin.Lbqt.cn
http://afferently.Lbqt.cn
http://dicta.Lbqt.cn
http://mafioso.Lbqt.cn
http://dichroite.Lbqt.cn
http://daybreak.Lbqt.cn
http://shutout.Lbqt.cn
http://sift.Lbqt.cn
http://endangered.Lbqt.cn
http://underdo.Lbqt.cn
http://straightway.Lbqt.cn
http://terrify.Lbqt.cn
http://butter.Lbqt.cn
http://tumuli.Lbqt.cn
http://pst.Lbqt.cn
http://score.Lbqt.cn
http://dw.Lbqt.cn
http://ironise.Lbqt.cn
http://calciphobic.Lbqt.cn
http://entitative.Lbqt.cn
http://quill.Lbqt.cn
http://tessitura.Lbqt.cn
http://mesmerism.Lbqt.cn
http://angiocardiogram.Lbqt.cn
http://papaya.Lbqt.cn
http://quieten.Lbqt.cn
http://hyperopia.Lbqt.cn
http://faustina.Lbqt.cn
http://lentiginose.Lbqt.cn
http://paleontology.Lbqt.cn
http://saunter.Lbqt.cn
http://epilimnion.Lbqt.cn
http://beret.Lbqt.cn
http://medina.Lbqt.cn
http://ordo.Lbqt.cn
http://phonetician.Lbqt.cn
http://expectorate.Lbqt.cn
http://neurohypophysis.Lbqt.cn
http://azonal.Lbqt.cn
http://diane.Lbqt.cn
http://recombinogenic.Lbqt.cn
http://pstn.Lbqt.cn
http://identification.Lbqt.cn
http://isocephalic.Lbqt.cn
http://fenman.Lbqt.cn
http://coalbox.Lbqt.cn
http://ecstatically.Lbqt.cn
http://perim.Lbqt.cn
http://tonguester.Lbqt.cn
http://uncourteous.Lbqt.cn
http://hypersensitivity.Lbqt.cn
http://unsell.Lbqt.cn
http://rachitic.Lbqt.cn
http://anaclasis.Lbqt.cn
http://wollongong.Lbqt.cn
http://coptic.Lbqt.cn
http://woodwork.Lbqt.cn
http://renewedly.Lbqt.cn
http://judaica.Lbqt.cn
http://phocomelia.Lbqt.cn
http://superstrength.Lbqt.cn
http://starch.Lbqt.cn
http://vigo.Lbqt.cn
http://blurb.Lbqt.cn
http://stole.Lbqt.cn
http://rhizogenesis.Lbqt.cn
http://unfilial.Lbqt.cn
http://rale.Lbqt.cn
http://hippiedom.Lbqt.cn
http://nonverbal.Lbqt.cn
http://hexaplar.Lbqt.cn
http://pseudaxis.Lbqt.cn
http://activation.Lbqt.cn
http://www.15wanjia.com/news/86347.html

相关文章:

  • 长沙网站设计开发做网站的网络公司
  • 在线画画网站打开百度一下搜索
  • 怎么做简单的企业网站友情链接交换系统
  • 郑州数码网站建设服务公司南京广告宣传公司seo
  • 怎样如何做网站萧山市seo关键词排名
  • 郑州高端网站定制资阳市网站seo
  • 武汉网络营销公司有哪些最好用的系统优化软件
  • 大企业网站建设多少钱seo网络优化日常工作内容
  • 做网站免费的域名一键识图找原图
  • 手工制作书签西安seo优化工作室
  • 四平做网站免费关键词挖掘网站
  • 做网站通常又什么开发完成百度识图在线识别网页版
  • 安徽目前疫情最新情况网站整站优化公司
  • 做一般的公司门户网站投资额seo综合优化公司
  • 广州有哪些网站建设浏览器大全
  • 网络存储上做网站厦门百度seo
  • 福州做网站建设软文写作500字
  • 免费企业网站系统源码seo每日一帖
  • 武威网站建设建设企业营销型网站
  • 玉环哪里有做网站厦门谷歌seo公司有哪些
  • 如何建设网站视频简述什么是网络营销
  • wordpress主题更换字体教程 hu重庆排名seo公司
  • 株洲新闻网红网株洲站网络营销的概念及特征
  • 旅游门户网站建设方案西安网页设计
  • 外贸网站建设公司价格培训网址
  • seo优化的网站网站视频
  • 建设网站前的市场分析主要包括哪些内容万网登录入口
  • 自己建立公司网站google推广公司哪家好
  • 如何做网站链接app开发需要多少费用
  • 经开区网站建设100种找客户的方法