基于redis限流系统
<dependency>
<groupId>cn.wukq</groupId>
<artifactId>rate-limiter-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<import resource="classpath:applicationContext-rateLimiter.xml"/>
## spring-config.properties 中加入
redis.host.user.ratelimiter=127.0.0.1
redis.port.user.ratelimiter=6379
redis.database.user.ratelimiter=4
@Resource(name = "rateLimiterRedisClient")
private RedisClient redisClient;
/**
* 这个方法在取令牌过程中,如果redis挂了也算成功
*
* 取令牌的数量为默认值:1
*/
boolean acquire = redisClient.acquire(key);
/**
*
*
* 这个方法会返回一个Token 对象,
* Token对象有详细的描述告知取令牌的状态
*
* 取令牌的数量为:tokenCount
*
*/
Token token = redisClient.acquireToken(key,tokenCount);