public class BucketLimiter extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
private com.google.common.cache.Cache<String,AtomicInteger> |
cache |
| 构造器和说明 |
|---|
BucketLimiter(int maxSize,
long duration,
TimeUnit timeUnit) |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
acquire(String key) |
static BucketLimiter |
create(int bucketSize,
long duration,
TimeUnit timeUnit) |
private int |
tryAcquire(String key) |
boolean |
tryAcquire(String key,
int limitSize)
是否被限流 可根据不同的key 指定数量
|
boolean |
tryAcquireIncrement(String key,
int limitSize)
值自动原子性 +1 后判断是否被限流 可根据不同的key 指定数量
|
private final com.google.common.cache.Cache<String,AtomicInteger> cache
public BucketLimiter(int maxSize,
long duration,
TimeUnit timeUnit)
maxSize - 桶大小duration - 记录缓存时间timeUnit - 单位时间public static BucketLimiter create(int bucketSize, long duration, TimeUnit timeUnit)
public boolean tryAcquire(String key, int limitSize)
key - limitSize - public boolean tryAcquireIncrement(String key, int limitSize)
key - limitSize - private int tryAcquire(String key)
public int acquire(String key)
Copyright © 2020. All rights reserved.