|
@@ -29,14 +29,26 @@ public class RedisUtils {
|
|
|
* 限流
|
|
|
*
|
|
|
* @param key 限流key
|
|
|
- * @param limitType 限流类型
|
|
|
+ * @param rateType 限流类型
|
|
|
* @param rate 速率
|
|
|
* @param rateInterval 速率间隔
|
|
|
+ * @return -1 表示失败
|
|
|
*/
|
|
|
- public static boolean rateLimiter(String key, RateType rateType, int rate, int rateInterval) {
|
|
|
+ public static long rateLimiter(String key, RateType rateType, int rate, int rateInterval) {
|
|
|
RRateLimiter rateLimiter = client.getRateLimiter(key);
|
|
|
rateLimiter.trySetRate(rateType, rate, rateInterval, RateIntervalUnit.SECONDS);
|
|
|
- return rateLimiter.tryAcquire();
|
|
|
+ if (rateLimiter.tryAcquire()) {
|
|
|
+ return rateLimiter.availablePermits();
|
|
|
+ } else {
|
|
|
+ return -1L;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取实例id
|
|
|
+ */
|
|
|
+ public static String getClientId() {
|
|
|
+ return client.getId();
|
|
|
}
|
|
|
|
|
|
/**
|