[Change] RedisPoolCacheStore 优化内部方法实现;

This commit is contained in:
LamGC 2020-06-13 17:24:06 +08:00
parent 0e76cebc31
commit 8dfb858b9f

View File

@ -51,27 +51,27 @@ abstract class RedisPoolCacheStore<T> implements CacheStore<T> {
@Override @Override
public void update(String key, T value, Date expire) { public void update(String key, T value, Date expire) {
try (Jedis jedis = jedisPool.getResource()) { executeJedisCommand(jedis -> {
jedis.set(keyPrefix + key, parse(value)); jedis.set(keyPrefix + key, parse(value));
if(expire != null) { if(expire != null) {
jedis.pexpireAt(keyPrefix + key, expire.getTime()); jedis.pexpireAt(keyPrefix + key, expire.getTime());
log.debug("已设置Key {} 的过期时间(Expire: {})", key, expire.getTime()); log.debug("已设置Key {} 的过期时间(Expire: {})", key, expire.getTime());
} }
} });
} }
@Override @Override
public T getCache(String key) { public T getCache(String key) {
try (Jedis jedis = jedisPool.getResource()) { return executeJedisCommand(jedis -> {
return analysis(jedis.get(keyPrefix + key)); return analysis(jedis.get(keyPrefix + key));
} });
} }
@Override @Override
public boolean exists(String key) { public boolean exists(String key) {
try (Jedis jedis = jedisPool.getResource()) { return executeJedisCommand(jedis -> {
return jedis.exists(keyPrefix + key); return jedis.exists(keyPrefix + key);
} });
} }
@Override @Override
@ -81,23 +81,21 @@ abstract class RedisPoolCacheStore<T> implements CacheStore<T> {
@Override @Override
public boolean clear() { public boolean clear() {
try (Jedis jedis = jedisPool.getResource()) { return executeJedisCommand(jedis -> {
return jedis.flushDB().equalsIgnoreCase("ok"); return jedis.flushDB().equalsIgnoreCase("ok");
} });
} }
@Override @Override
public Set<String> keys() { public Set<String> keys() {
try (Jedis jedis = jedisPool.getResource()) { return executeJedisCommand(jedis -> {
return jedis.keys(keyPrefix + "*"); return jedis.keys(keyPrefix + "*");
} });
} }
@Override @Override
public boolean remove(String key) { public boolean remove(String key) {
try (Jedis jedis = jedisPool.getResource()) { return executeJedisCommand(jedis -> jedis.del(keyPrefix + key) == 1);
return jedis.del(keyPrefix + key) == 1;
}
} }
/** /**