真是简单
/**
* rateLimiter 限流器
*/
@GetMapping("/rateLimiter")
public R rateLimiter(String uid) {
RRateLimiter rateLimiter = redissonClient.getRateLimiter("rateLimiter:"+uid);
//创建限流器,最大流速:每10秒钟产生3个
boolean res = rateLimiter.trySetRate(RateType.OVERALL, 3, 10, RateIntervalUnit.SECONDS);
// 尝试获取令牌
if (!rateLimiter.tryAcquire(1)) {
return R.error("限流,当前请求超过速率限制");
}
return R.success("");
}