您的位置:首页 > 数据库 > Redis

Redis连接池工具类并加载配置文件以及测试

2019-07-30 20:09 519 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Afflatus_f/article/details/97814026

在 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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: