JAVA Redis Pool
Posted 2018. 1. 11. 23:49싱글톤
package redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisClient {
JedisPool jedisPool;
JedisPoolConfig poolConfig;
private static RedisClient redisClient = null;
private RedisClient() {
poolConfig = new JedisPoolConfig();
poolConfig.setMinIdle(5);
poolConfig.setMaxActive(1000);
poolConfig.setMaxWait(5000); // long
jedisPool = new JedisPool(poolConfig, "127.0.0.1", 50001);
}
public static RedisClient getInstance() {
if(redisClient == null) {
redisClient = new RedisClient();
}
return redisClient;
}
public void returnResource(Jedis client) {
jedisPool.returnResource(client);
}
public void testRedis() {
// Jedis jedis = null;
// try {
// jedis = jedisPool.getResource();
// String str = jedis.get("key1");
// System.out.println(str);
// } catch(Exception e) {
// e.printStackTrace();
// } finally {
// if(jedis != null) {
// returnResource(jedis);
// }
// }
}
}
사용 할 곳에서
RedisClient redisClient = RedisClient.getInstance();
로 받아와서
redisClient.testRedis() 호출 해서 쓰면 된다.
예전 버전이라 jedis-2.1.0 jar 파일을 사용해야 한다.
요즘버전은 바뀌어서 config쪽에 몇몇 함수가 사라졌다.
returnResource도 없어져서 요즘버전을 사용하면 pool에서 받은놈을 close 해주면 된다.
Jedis jedis = pool.getResource();
jedis... 사용 후
jedis.close() 하면됨.
나는 옛날버전이라 쓰고나서 returnResource로 리턴시켜 준거고.
- Filed under : Redis