Redis 连接池
package com.atguigu.redis.jedispool.test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisPoolUtil {
private volatile static JedisPool jedisPool = null;
public JedisPoolUtil(){
}
public static JedisPool getJedisPoolInstance(){
if(null == jedisPool){
synchronized(JedisPoolUtil.class){
if(null == jedisPool){
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxActive(1000); //最大连接数
poolConfig.setMaxIdle(32); //最大空闲
poolConfig.setMaxWait(100*1000);
poolConfig.setTestOnBorrow(true);
jedisPool = new JedisPool(poolConfig,"xx.xx.xx.xx");
}
}
}
return jedisPool;
}
/**
* 不用的客户端返回给JedisPool
* @param jedisPool
* @param jedis
*/
public static void release(JedisPool jedisPool,Jedis jedis){
if(null!=jedis){
jedisPool.returnBrokenResource(jedis);
}
}
}
package com.atguigu.redis.jedispool.test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class TestJedisPool {
public static void main(String[] args) {
JedisPool jedisPool = JedisPoolUtil.getJedisPoolInstance();
Jedis jedis = null;
jedis = jedisPool.getResource();
jedis.set("k1", "v2");
String result = jedis.get("k1");
System.out.println("result: " + result);
JedisPoolUtil.release(jedisPool, jedis);
}
}
参数 还会继续更新......