新增缓存临界值变量

This commit is contained in:
jinyu 2016-04-05 14:10:36 +08:00
parent b4a5f0916a
commit 12cbeca91d
4 changed files with 291 additions and 287 deletions

View File

@ -38,7 +38,7 @@ public class FileTokenStorager implements TokenStorager {
if (token.getCreateTime() < 0) { if (token.getCreateTime() < 0) {
return token; return token;
} }
if ((token.getCreateTime() + (token.getExpiresIn() * 1000l) - 2) > System if ((token.getCreateTime() + (token.getExpiresIn() * 1000l) - CUTMS) > System
.currentTimeMillis()) { .currentTimeMillis()) {
return token; return token;
} }

View File

@ -27,7 +27,7 @@ public class MemoryTokenStorager implements TokenStorager {
public Token lookup(String cacheKey) throws WeixinException { public Token lookup(String cacheKey) throws WeixinException {
Token token = this.CONMAP.get(cacheKey); Token token = this.CONMAP.get(cacheKey);
if (token != null) { if (token != null) {
if ((token.getCreateTime() + (token.getExpiresIn() * 1000l) - 2) > System if ((token.getCreateTime() + (token.getExpiresIn() * 1000l) - CUTMS) > System
.currentTimeMillis()) { .currentTimeMillis()) {
return token; return token;
} }

View File

@ -78,7 +78,7 @@ public class RedisTokenStorager implements TokenStorager {
jedis = jedisPool.getResource(); jedis = jedisPool.getResource();
jedis.hmset(cacheKey, token2map(token)); jedis.hmset(cacheKey, token2map(token));
if (token.getExpiresIn() > 0) { if (token.getExpiresIn() > 0) {
jedis.expire(cacheKey, token.getExpiresIn()); jedis.expire(cacheKey, token.getExpiresIn() - (int)(CUTMS / 1000l));
} }
} finally { } finally {
if (jedis != null) { if (jedis != null) {

View File

@ -15,4 +15,8 @@ import com.foxinmy.weixin4j.model.Token;
* @see RedisTokenStorager * @see RedisTokenStorager
*/ */
public interface TokenStorager extends CacheStorager<Token> { public interface TokenStorager extends CacheStorager<Token> {
/**
* 考虑到程序的临界值,实际有效时间应该减去下面这个数
*/
final long CUTMS = 1 * 60 * 1000l;
} }