1. 程式人生 > >java專案使用redis / 連線池配置

java專案使用redis / 連線池配置

1. pom     

             <dependency>

    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.4.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.4</version>
</dependency>

2.  連線工具類

 package com.zhidejiaoyu.common.utils.redis;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/** 

 * Redis 工具類 


 * @author qizhentao
 * @version 1.0
 */
public class RedisUtil {  

    private static JedisPool jedisPool = null;

    //初始化redis連線池
    static{
    JedisPoolConfig config = new JedisPoolConfig();
    // 設定最大連線數
    config.setMaxTotal(3000); // 可以建立3000jedis例項 
    // 設定最大空閒連線數
    config.setMaxIdle(300);
    //等待可用連線的最大時間
    config.setMaxWaitMillis(10000);
    //在borrow一個jedis例項時,是否提前進行validate操作;如果為true,則得到的jedis例項均是可用的
    config.setTestOnBorrow(true);
    jedisPool = new JedisPool(config,"137.0.0.1",6379);
    }

    /**
     * 獲取Jedis例項
     * 每次用完要將連線返回給連線池 jedis.close();
     */
    public synchronized static Jedis getJedis(){
        if(jedisPool != null){
            Jedis resource = jedisPool.getResource();
            return resource;
        }else{
            return null;
        }
    }
}  

 3. 測試使用