• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

使用Redisson和SpringBoot Starter实现的一款放重放小工具

武飞扬头像
阿伦Java
帮助1

使用Redisson实现的一款放重放小工具

Github: limiter-spring-boot-starter

  1.  
    @Target({ElementType.METHOD})
  2.  
    @Retention(RetentionPolicy.RUNTIME)
  3.  
    @Documented
  4.  
    public @interface WebLimiter {
  5.  
     
  6.  
    /**
  7.  
    * 后到达的请求默认处理策略
  8.  
    *
  9.  
    * @return
  10.  
    */
  11.  
    AccessEnum access() default AccessEnum.DENY;
  12.  
     
  13.  
    /**
  14.  
    * 用于判断相同请求的标识
  15.  
    *
  16.  
    * @return
  17.  
    */
  18.  
    UniqueEnum unique() default UniqueEnum.METHOD_PARAM;
  19.  
     
  20.  
    /**
  21.  
    * response处理器
  22.  
    *
  23.  
    * @return
  24.  
    */
  25.  
    Class<? extends IResponseHandler> handler() default DefaultResponseHandler.class;
  26.  
     
  27.  
    /**
  28.  
    * 限制时长
  29.  
    *
  30.  
    * @return
  31.  
    */
  32.  
    int expire() default 1;
  33.  
     
  34.  
    /**
  35.  
    * 单位
  36.  
    *
  37.  
    * @return
  38.  
    */
  39.  
    TimeUnit timeunit() default TimeUnit.SECONDS;
  40.  
     
  41.  
    }
学新通

使用方式

limiter-spring-boot-starter

使用springboot和redisson实现的web api放重放锁

处理模式

拒绝、排队

判断唯一请求标识

header、param

可自定义响应数据

使用方式

应用依赖redis

  1.  
    spring.redis.host = xxxx
  2.  
    spring.redis.port = xxx
  3.  
    spring.redis.password = xxx
  4.  
    spring.redis.database = 2

如果应用未配置redissonClient则会默认注入一个

  1. 引入stater
  1.  
    <dependency>
  2.  
    <groupId>cn.fire.limiter</groupId>
  3.  
    <artifactId>limiter-spring-boot-starter</artifactId>
  4.  
    </dependency>
  1. 在需要控制的控制器上加入注解,支持方法和类级别
@WebLimiter(expire = 2, timeunit = TimeUnit.SECONDS, handler = DefaultResponseHandler.class, unique = UniqueEnum.HEADER, access = AccessEnum.DENY)

3人点赞

Spring Boot

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfihhie
系列文章
更多 icon
同类精品
更多 icon
继续加载