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

在 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);
    }
}

你可能感兴趣的:(Redis,数据库,非关系型数据库,非关系型数据库)