- 通过set(final String key, final String value, final String nxxx, final String expx, final int time)
/**
*
* @param key
* @param value
* @param nxxx NX = 仅当key不存在时设置;XX = 仅当key存在时设置
* @param expx EX = 秒;PX = 毫秒
* @param time 过期时间
* @return 设置成功返回“OK”
*/
public String set(final String key, final String value, final String nxxx, final String expx,
final int time) {
checkIsInMultiOrPipeline();
client.set(key, value, nxxx, expx, time);
return client.getStatusCodeReply();
}
- 通过过期时间和值加1
/**
* 每分钟限制访问数
*/
private static final long limitPerMinute = 200;
public boolean limitQps(final String key) {
if(redis.exists(key)) {
long count = redis.incr(key);
if(count > limitPerMinute) {
return false;
}
} else {
redis.setex(key, 60, "1");
}
return true;
}