项目具体组成:
redis.properties
redis.maxIdle=30
redis.minIdle=10
redis.maxTotal=100
redis.url=192.168.159.138
redis.port=6379
JedisTest测试类
package redis.jedis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisTest {
//通过Java程序访问redis数据库
@Test
//获得单一的jedis对象操作数据库
public void test1(){
//1.获得连接对象
Jedis jedis=new Jedis("192.168.159.138",6379);
//2获得数据
String username=jedis.get("username");
System.out.println(username);
//3存储
jedis.set("addr","广东东莞");
System.out.println(jedis.get("addr"));
}
//通过jedis的pool获得jedis连接对象
@Test
public void test2(){
//0、创建池子的配置
JedisPoolConfig config=new JedisPoolConfig();
config.setMaxIdle(30); //最大闲置个数
config.setMinIdle(10); //最小闲置个数
config.setMaxTotal(50);//最大连接数
//1、创建一个redis的连接池
//JedisPool pool=new JedisPool("192.168.186.131",6379);
JedisPool pool=new JedisPool(config,"192.168.159.138",6379);
//2、从池子中获取redis的连接资源
Jedis jedis=pool.getResource();
//3、操作数据库
jedis.set("xxx","yyyy");
System.out.println(jedis.get("xxx"));
//4、关闭资源
jedis.close();
pool.close();
}
}
JedisPoolUtils连接池工具类
package redis.jedis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class JedisPoolUtils {
private static JedisPool pool=null;
static {
//加载配置文件
Properties pro=new Properties();
ClassLoader cla=Thread.currentThread().getContextClassLoader();
InputStream in=cla.getResourceAsStream("redis.properties");
try {
pro.load(in);
//0、创建池子的配置
JedisPoolConfig config=new JedisPoolConfig();
config.setMaxIdle(Integer.parseInt(pro.get("redis.maxIdle").toString()) ); //最大闲置个数
config.setMinIdle(Integer.parseInt(pro.get("redis.minIdle").toString()) ); //最小闲置个数
config.setMaxTotal(Integer.parseInt(pro.get("redis.maxTotal").toString()) );//最大连接数
//1、创建一个redis的连接池
//JedisPool pool=new JedisPool("192.168.186.131",6379);
pool=new JedisPool(config, pro.get("redis.url").toString(),Integer.parseInt(pro.get("redis.port").toString()));
} catch (IOException e) {
e.printStackTrace();
}
}
//获得jedis资源的方法
public static Jedis getJedis(){
//2、从池子中获取redis的连接资源
return pool.getResource();
}
public static void main(String[] args) {
Jedis jedis=getJedis();
System.out.println(jedis.get("xxx"));
}
}
测试结果如下: