1.思路:
* Redis连接池的第一个版本<BR> * * 1. JedisPoolConfig:连接池的配置信息 <BR> * - maxTotal:连接数量,默认8个<BR> * - maxIdle:最大空闲数,默认8个<BR> * - minIdle:最小空闲数,默认0个<BR> * * 2. JedisPool:连接池api,用于获取Jedis实例<BR> * 2.1 创建JedisPool实例<BR> * new JedisPool(JedisPoolConfig, ip, port);<BR> * 2.2 获取Jedis实例,相当于获取一个redis连接<BR> * Jedis jedis = jedisPool.getResource();<BR> * 2.3 使用Jedis实例操作数据库<BR> * 2.4 关闭连接(关闭Jedis实例)<BR> * - jedisPool.returnResource(); // 旧api<BR> * - jedis.close(); // 新api<BR> * */
2.(单一实例)步骤:
public class StandaloneAlpha {
private StandaloneAlpha(){};
//ip,端口号
private final static String HOST="192.168.109.128";
private final static int PORT = 6379;
//连接池配置信息
private static final int MAX_TOTAL = 5;
private static final int MAX_IDLE=5;
private static final int MIN_IDLE = 1;
private static final JedisPoolConfig poolConfig = new JedisPoolConfig();
private static final JedisPool jedisPool;
static {
poolConfig.setMaxTotal(MAX_TOTAL);
poolConfig.setMaxIdle(MAX_IDLE);
poolConfig.setMinIdle(MIN_IDLE);
jedisPool = new JedisPool(poolConfig,HOST,PORT);
}
//提供公共方法获取redis连接
public static Jedis getConnection(){
return jedisPool.getResource();
}
}
调用:
public class StandaloneTest {
public static void main(String[] args) {
//officaial();
testAlpha();
//testBeta();
//testRealease();
}
public static void testAlpha(){
Jedis jedis1 = StandaloneAlpha.getConnection();
Jedis jedis2 = StandaloneAlpha.getConnection();
Jedis jedis3 = StandaloneAlpha.getConnection();
Jedis jedis4 = StandaloneAlpha.getConnection();
Jedis jedis5 = StandaloneAlpha.getConnection();
jedis1.close();
Jedis jedis6 = StandaloneAlpha.getConnection();
System.out.println("jedis2- "+jedis2);
System.out.println("jedis3- "+jedis3);
System.out.println("jedis4- "+jedis4);
System.out.println("jedis5- "+jedis5);
System.out.println("jedis6- "+jedis6);
}
}
运行结果