
com.daedafusion.cache.providers.RedisCacheManager Maven / Gradle / Ivy
The newest version!
package com.daedafusion.cache.providers;
import com.daedafusion.cache.Cache;
import com.daedafusion.configuration.Configuration;
import com.daedafusion.sf.AbstractProvider;
import com.daedafusion.sf.LifecycleListener;
import org.apache.log4j.Logger;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.HashMap;
import java.util.Map;
/**
* Created by mphilpot on 1/23/17.
*/
public class RedisCacheManager extends AbstractProvider implements CacheManagerProvider
{
private static final Logger log = Logger.getLogger(RedisCacheManager.class);
private final Map map;
private JedisPool pool;
public RedisCacheManager()
{
map = new HashMap<>();
addLifecycleListener(new LifecycleListener()
{
@Override
public void init()
{
}
@Override
public void start()
{
pool = new JedisPool(new JedisPoolConfig(), Configuration.getInstance().getString("redis.hostname", "localhost"));
}
@Override
public void stop()
{
}
@Override
public void teardown()
{
pool.destroy();
}
});
}
@Override
public Cache getCache(String name)
{
return new RedisCache(pool, name);
}
@Override
public boolean hasCache(String name)
{
return map.containsKey(name) || getProperty(name) != null;
}
@Override
public boolean isDefaultProvider()
{
return Boolean.parseBoolean(getProperty("defaultProvider", "false"));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy