Class RedisRateLimiterHandler

java.lang.Object
com.codeupsoft.interceptor.ratelimit.handler.RedisRateLimiterHandler

@ConditionalOnBean(org.springframework.data.redis.core.StringRedisTemplate.class) @ConditionalOnMissingBean(RedisRateLimiterHandler.class) public class RedisRateLimiterHandler extends Object
Redis限流处理器.

基于Redis实现的限流处理器,通过Redis的原子性操作保证限流的准确性.

Author:
Liu,Dongdong, codeupsoft
  • Constructor Details

    • RedisRateLimiterHandler

      public RedisRateLimiterHandler()
  • Method Details

    • allowRequest

      public boolean allowRequest(String key, int limit, Long windowTime, TimeUnit timeUnit)
      判断请求是否允许通过限流.
      Parameters:
      key - 限流key
      limit - 时间窗口内允许的最大请求数
      windowTime - 时间窗口大小
      timeUnit - 时间单位
      Returns:
      是否允许请求通过