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

View file

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