redis3.0.7连接 <java>

来源:互联网 发布:淘宝水果属于什么类目 编辑:程序博客网 时间:2024/06/05 22:44

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);
        }




}
    
}


0 0
原创粉丝点击