redis3.0.7連接

1、關閉linux系統的防火牆

2.maven  pom.xml文件

    <dependency>  
    <groupId>redis.clients</groupId>  
    <artifactId>jedis</artifactId>  
    <version>2.4.2</version>  
    </dependency>


<一>普通連接

package com.test;


import java.util.Iterator;
import java.util.Set;


import redis.clients.jedis.Jedis;


public class Test {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Jedis  redis = new Jedis ("192.168.240.130",6379);//連接redis  
       Set keys = redis.keys("*");//列出所有的key,查找特定的key如:redis.keys("foo")    
          Iterator t1=keys.iterator() ;    
          while(t1.hasNext()){    
              Object obj1=t1.next();    
              System.out.println(obj1);    
          } 
          redis.disconnect(); //釋放鏈接
}


}


<二>池鏈接

reids.properties文件

#最大分配對象的監測數
redis.pool.maxActive=1024
#最大能夠保持idel狀態的對象數  
redis.pool.maxIdle=200
#當池內沒有返回對象時,最大等待時間
redis.pool.maxWait=1000
#當調用borrow Object方法時,是否進行有效性檢查  
redis.pool.testOnBorrow=true
#當調用return Object方法時,是否進行有效性檢查  
redis.pool.testOnReturn=true
#IP  
redis.ip=192.168.240.130
#Port  
redis.port=6379


package com.test;


import java.util.Iterator;
import java.util.ResourceBundle;
import java.util.Set;


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


public class RedisAPI  {
private static JedisPool pool;
public static JedisPool getPool() {
ResourceBundle bundle = ResourceBundle.getBundle("redis");
if (bundle == null) {
throw new IllegalArgumentException(
"[redis.properties] is not found!");
}
if(pool == null){
JedisPoolConfig config = new JedisPoolConfig();  
       config.setMaxTotal(Integer.valueOf(bundle  
               .getString("redis.pool.maxActive")));  
       config.setMaxIdle(Integer.valueOf(bundle  
               .getString("redis.pool.maxIdle")));  
       config.setMaxWaitMillis(Long.valueOf(bundle.getString("redis.pool.maxWait")));  
       config.setTestOnBorrow(Boolean.valueOf(bundle  
               .getString("redis.pool.testOnBorrow")));  
       config.setTestOnReturn(Boolean.valueOf(bundle  
               .getString("redis.pool.testOnReturn")));  
       pool = new JedisPool(config, bundle.getString("redis.ip"),  
               Integer.valueOf(bundle.getString("redis.port")));
}
        return pool;
}
    /**
     * 返還到連接池
     * 
     * @param pool 
     * @param redis
     */
    public static void returnResource(JedisPool pool, Jedis redis) {
        if (redis != null) {
            pool.returnResource(redis);
        }
    }
    
    /**
     * 獲取數據
     * 
     * @param key
     * @return
     */
    public static String get(String key){
        String value = null;
        
        JedisPool pool = null;
        Jedis jedis = null;
        try {
            pool = getPool();
            jedis = pool.getResource();
            value = jedis.get(key);
        } catch (Exception e) {
            //釋放redis對象
            pool.returnBrokenResource(jedis);
            e.printStackTrace();
        } finally {
            //返還到連接池
            returnResource(pool, jedis);
        }
        
        return value;
    }
    
public static void main(String[] args) {
// TODO Auto-generated method stub
        JedisPool pool = null;
        Jedis jedis = null;
        try {
            pool = getPool();
            jedis = pool.getResource();
       Set keys = jedis.keys("*");//列出所有的key,查找特定的key如:redis.keys("foo")    
          Iterator t1=keys.iterator() ;    
          while(t1.hasNext()){    
              Object obj1=t1.next();    
              System.out.println(obj1);    
          } 
        } catch (Exception e) {
            //釋放redis對象
            pool.returnBrokenResource(jedis);
            e.printStackTrace();
        } finally {
            //返還到連接池
            returnResource(pool, jedis);
        }




}
    
}


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