feat(cache): get address and port from configuration

This commit is contained in:
ineanto 2023-05-20 00:54:49 +02:00
parent 87e998d578
commit f0b9c62a1b
2 changed files with 21 additions and 4 deletions

View file

@ -3,6 +3,7 @@ package xyz.atnrch.nicko.storage.cache.redis;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import redis.clients.jedis.Jedis;
import xyz.atnrch.nicko.config.Configuration;
import xyz.atnrch.nicko.disguise.ActionResult;
import xyz.atnrch.nicko.disguise.NickoProfile;
import xyz.atnrch.nicko.storage.cache.Cache;
@ -12,13 +13,21 @@ import java.util.Optional;
import java.util.UUID;
public class RedisCache extends Cache {
private final Gson gson = new GsonBuilder().serializeNulls().setPrettyPrinting().create();
private final Gson gson = new GsonBuilder()
.serializeNulls()
.setPrettyPrinting()
.create();
private final Configuration configuration;
private RedisCacheProvider provider;
public RedisCache(Configuration configuration) {
this.configuration = configuration;
}
@Override
public CacheProvider getProvider() {
if (provider == null) {
provider = new RedisCacheProvider();
provider = new RedisCacheProvider(configuration);
}
return provider;
}

View file

@ -1,16 +1,24 @@
package xyz.atnrch.nicko.storage.cache.redis;
import xyz.atnrch.nicko.config.Configuration;
import xyz.atnrch.nicko.storage.cache.CacheProvider;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class RedisCacheProvider implements CacheProvider {
private final Configuration configuration;
private JedisPool pool;
public RedisCacheProvider(Configuration configuration) {
this.configuration = configuration;
}
@Override
public boolean init() {
// TODO: 3/12/23 Get port from configuration
pool = new JedisPool("localhost", 6379);
pool = new JedisPool(
configuration.getRedisConfiguration().getAddress(),
configuration.getRedisConfiguration().getPort()
);
return !pool.isClosed() && pool.getResource() != null;
}