jedis是redis在java语言上使用的类,可以用来在代码中操作redis
下面是自己封装好的jedis,注意,需要下载jar包使用,或者maven的pom.xml文件中引入jedis
引入mavan(用的可能有点老,官网有新的)
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* Created by Ninka on 2017/6/17 0017.
*/
public class JedisUtil {
private static String redisAddr = "192.168.0.105";//redis服务器ip
private static int port = 6379;//redis防火墙端口
private static String AUTH = ""; //redis密码,通过服务器里redis配置文件里设置
private static int MAX_TOTAL = 300;//最大连接数
private static int MAX_IDLE = 200;//最大空闲连接数
//等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出
private static int MAX_WAIT = 10000;
private static int TIMEOUT = 10000;
//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
private static boolean TEST_ON_BORROW = true;
private static JedisPool jedisPool;
//Jedis连接池配置
static {
try{
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(MAX_TOTAL);
config.setMaxIdle(MAX_IDLE);
config.setMaxWaitMillis(MAX_WAIT);
config.setTestOnBorrow(TEST_ON_BORROW);
//jedisPool = new JedisPool(config,redisAddr,port,TIMEOUT,AUTH); 有密码的情况
jedisPool = new JedisPool(config,redisAddr,port,TIMEOUT);
}catch (Exception e){
e.printStackTrace();
}
}
//获取jedis实例
public synchronized static Jedis getJedis(){
//连接池中获取资源
try{
if (jedisPool != null){
Jedis jedis = jedisPool.getResource();
return jedis;
}else {
return null;
}
}catch (Exception e){
e.printStackTrace();
return null;
}
}
//释放jedis和jedisPool资源
public static void releaseResource(final Jedis jedis){
if (jedis == null){
jedis.close();
}
if (jedisPool == null){
jedisPool.close();
}
}
}