[Update] RedisPoolCacheStore 优化代码;

This commit is contained in:
LamGC 2020-04-24 00:42:41 +08:00
parent 1f3d99ac10
commit 0f202cb076

View File

@ -9,6 +9,7 @@ import redis.clients.jedis.*;
import java.net.URI;
import java.util.Date;
import java.util.Objects;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Function;
@ -50,29 +51,27 @@ public abstract class RedisPoolCacheStore<T> implements CacheStore<T> {
@Override
public void update(String key, T value, Date expire) {
Jedis jedis = jedisPool.getResource();
try (Jedis jedis = jedisPool.getResource()) {
jedis.set(keyPrefix + key, parse(value));
if(expire != null) {
jedis.pexpireAt(keyPrefix + key, expire.getTime());
log.debug("已设置Key {} 的过期时间(Expire: {})", key, expire.getTime());
}
jedis.close();
}
}
@Override
public T getCache(String key) {
Jedis jedis = jedisPool.getResource();
T result = analysis(jedis.get(keyPrefix + key));
jedis.close();
return result;
try (Jedis jedis = jedisPool.getResource()) {
return analysis(jedis.get(keyPrefix + key));
}
}
@Override
public boolean exists(String key) {
Jedis jedis = jedisPool.getResource();
boolean result = jedis.exists(keyPrefix + key);
jedis.close();
return result;
try (Jedis jedis = jedisPool.getResource()) {
return jedis.exists(keyPrefix + key);
}
}
@Override
@ -82,12 +81,18 @@ public abstract class RedisPoolCacheStore<T> implements CacheStore<T> {
@Override
public boolean clear() {
Jedis jedis = jedisPool.getResource();
try (Jedis jedis = jedisPool.getResource()) {
String result = jedis.flushDB();
jedis.close();
log.info("flushDB返回结果: {}", result);
return true;
}
}
public Set<String> keys() {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.keys(keyPrefix + "*");
}
}
/**
* 转换方法