Jedis.clients的使用过程
JedisPoolConfig jedis连接池配置类
public class JedisPoolConfig extends GenericObjectPoolConfig {
public JedisPoolConfig() {
// defaults to make your life with connection pool easier :)
setTestWhileIdle(true);
setMinEvictableIdleTimeMillis(60000);
setTimeBetweenEvictionRunsMillis(30000);
setNumTestsPerEvictionRun(-1);
}
JedisPool类的构造函数
public JedisPool(final GenericObjectPoolConfig poolConfig, final String host)
public JedisPool(final GenericObjectPoolConfig poolConfig, final String host, int port,int timeout, final String password)
简单操作
package com.bang.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public final class jedisPool {
private static String host="******";//Eedis ip
private static int port=6379;//Redis port
private static int timeout=10000;//Redis timeout
private static String password="********";//Redis auth
private static JedisPool jedisPool = null;
//静态块实现初始化连接池
static{
try{
JedisPoolConfig jedisPoolConfig =new JedisPoolConfig();
//采取默认文件构造
jedisPool=new JedisPool(jedisPoolConfig,host,port,timeout,password);
}catch (Exception e){
e.printStackTrace();
}
}
//获得实例
public synchronized static Jedis getResource(){
try{
Jedis resource = jedisPool.getResource();
return resource;
}catch (Exception e){
e.printStackTrace();
}
return null;
}
//归还实例
public static void returnResource(final Jedis jedis){
if(jedis!=null){
//由于JedisPool.returnResource遭到弃用
//用jedis.close来代替自动归还
jedis.close();
}
}
}
操作实例
public String testRedis(){
jedis= jedisPool.getResource();
jedis.set("admin","123");
String x=jedis.get("admin");
jedisPool.returnResource(jedis);
return x;
}//返回结果为123
参考文章:Java中使用Jedis操作Redis