redis-Jedispool學習

首先導入需要的jar包,這裏使用的是maven管理jar包:

<!--jedis-->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>

然後看代碼:

package com.springmvc.test;

import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisPoolUtli {

private void JedisPoolUtli(){};

private static volatile JedisPool jedisPool = null;

/**
 * 獲取實例
 * @return
 */
public static JedisPool getJedisPoolInstance(){
    if(null == jedisPool){
        synchronized (JedisPoolUtli.class){
            if (null == jedisPool){
                GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
                poolConfig.setMaxTotal(1000);//有多少的jedis實例
                poolConfig.setMaxIdle(32);//最多有多少個空閒數
                poolConfig.setMaxWaitMillis(100*1000);//獲取一個實例的最大等待時間
                poolConfig.setTestOnBorrow(true);//檢查可用性
                jedisPool = new JedisPool(poolConfig,"127.0.0.1",6379);
            }
        }
    }
    return jedisPool;
}

/**
 * 釋放資源
 * @param jedis
 */
public static void release(Jedis jedis){
    if(null != jedis){
        jedis.close();
    }
}

}
最後測試:

package com.springmvc.test;

import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import static org.junit.Assert.*;

public class EmployeeHandlerTest {
    @Test
    public void TestAPI() {
        JedisPool jedisPool = JedisPoolUtli.getJedisPoolInstance();
        Jedis jedis = jedisPool.getResource();
        System.out.println(jedis.info());
    }
}

還有要先開啓redis服務後才能使用JAVA測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章