1、基于连接池获取连接
1)、JedisPool:Jedis提供的连接池技术
2)、poolConfig:连接池配置对象
3)、host:redis服务地址
4)、port:redis服务端口号
public JedisPool(GenericObjectPoolConfig poolConfig, String host, int port) { this(poolConfig, host, port, 2000, (String)null, 0, (String)null); }
2、封装连接参数
1)、 jedis.properties 属性配置文件
jedis.host=localhost jedis.port=6379 jedis.maxTotal=30 jedis.maxIdle=10
3、加载配置信息
1)、静态代码块初始化资源
static{ //读取配置文件 //获得参数值 ResourceBundle rb = ResourceBundle.getBundle("jedis"); host = rb.getString("jedis.host"); port = Integer.parseInt(rb.getString("jedis.port")); maxTotal = Integer.parseInt(rb.getString("jedis.maxTotal")); maxIdle = Integer.parseInt(rb.getString("jedis.maxIdle")); poolConfig = new JedisPoolConfig(); poolConfig.setMaxTotal(maxTotal); poolConfig.setMaxIdle(maxIdle); jedisPool = new JedisPool(poolConfig,host,port); }
4、获取连接
1)、对外访问接口,提供jedis连接对象,连接从连接池获取
public static Jedis getJedis(){ Jedis jedis = jedisPool.getResource(); return jedis; }
5、Jedis封装后的工具类
package com.gmw.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.util.ResourceBundle; public class JedisUtils { private static JedisPool jedisPool = null; private static String host; private static Integer port; private static Integer maxTotal; private static Integer maxIdle; static { //加载核心属性配置文件 ResourceBundle resourceBundle = ResourceBundle.getBundle("redis"); host = resourceBundle.getString("redis.host"); port = Integer.parseInt(resourceBundle.getString("redis.port")); maxTotal = Integer.parseInt(resourceBundle.getString("redis.maxTotal")); maxIdle = Integer.parseInt(resourceBundle.getString("redis.maxIdle")); //redis数据库连接池配置 JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); //最大连接数 jedisPoolConfig.setMaxTotal(maxTotal); //最大活动数 jedisPoolConfig.setMaxIdle(maxTotal); //连接服务的url //连接服务的端口 //redis数据库连接池 jedisPool = new JedisPool(jedisPoolConfig,host,port); } public static Jedis getJedis(){ //返回连接池 return jedisPool.getResource(); } }