在 src下创建properties文件,内容如下:
# IP
host=localhost
# 端口号
port=6379
# 最大连接数
maxTotal=50
# 最大闲置数
maxIdle=20
连接池工具类:
package cd.zf.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.ResourceBundle;
/*
数据库连接池的工具类
目的 返回数据库的连接对象jedis
且读取配置文件 config.properties
*/
public class JedisUtils {
//声明连接池对象
private static JedisPool pool;
//加载配置文件
static {
/**
* ResourceBundle属于java.util.ResourceBundle包
* 专门处理properties文件
* 不用new,可直接使用--->ResourceBundle.getBundle("config");
* getBundle(String baseName)方法中baseName就是配置文件名,我们这里是config
* getBundle(String baseName)方法获取的对象有getString(String key)方法
* getString(String key)方法可获取配置文件中的值,key就是配置文件key的名字
* 因为获取的值都是String形式,所以要转换一下-->Integer
*/
ResourceBundle config = ResourceBundle.getBundle("config");
//获取ip
String host = config.getString("host");
//获取端口号
int port = Integer.parseInt(config.getString("port"));
//获取最大连接数
int maxTotal = Integer.parseInt(config.getString("maxTotal"));
//获得最大闲置连接数
int maxIdle = Integer.parseInt(config.getString("maxIdle"));
//创建连接池的配置对象
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//设置最大连接数
jedisPoolConfig.setMaxTotal(maxTotal);
//设置最大闲置连接数
jedisPoolConfig.setMaxIdle(maxIdle);
//创建连接池对象 并将连接池的配置对象、IP以及端口号传入
pool = new JedisPool(jedisPoolConfig, host, port);
}
//创建方法,返回连接池对象
public static Jedis getJedis(){
return pool.getResource();
}
//释放资源
//释放连接对象
public static void close(Jedis jedis){
if (jedis!=null)
jedis.close();
}
//释放连接池对象
public static void close(JedisPool pool){
if (pool!=null)
pool.close();
}
}
测试:
package cd.zf.redis;
import cd.zf.utils.JedisUtils;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class JedisUtilsTest {
@Test
public void test(){
Jedis jedis = JedisUtils.getJedis();
jedis.set("username","tom");
String username = jedis.get("username");
System.out.println(username);
JedisUtils.close(jedis);
}
}