Jedis

 

Jedis是Redis官方推荐的Java链接工具
使用前导入,下面的测试建议也导入测试的Maven依赖包

        
        
            redis.clients
            jedis
            2.9.0
        
        
        
            junit
            junit
            4.12
        

新建一个Maven项目,创建测试类进行测试。

Jedis_第1张图片

 其他数据类型操作举例

Jedis_第2张图片

基于连接池获取连接

 

JedisPool:Jedis提供的连接池技术。

  • poolConfig:连接池配置对象
  • host:Redis服务地址
  • port:Redis服务端口号
package com.juno.util;

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

public class JedisUtils {     //连接工具类
    public static Jedis getJedis(){
        JedisPoolConfig jpc = new JedisPoolConfig();
        jpc.setMaxTotal(30);  //最大连接数
        jpc.setMaxIdle(10);  //最大活动连接数
        String host = "127.0.0.1";
        int port = 6379;
        JedisPool jp = new JedisPool(jpc,host,port);
        return jp.getResource();
    }
}

还可以再优化一下代码,如下

package com.juno.util;

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

public class JedisUtils {
    private static JedisPool jp = null;
    static {
        JedisPoolConfig jpc = new JedisPoolConfig();
        jpc.setMaxTotal(30);  //最大连接数
        jpc.setMaxIdle(10);  //最大活动连接数
        String host = "127.0.0.1";
        int port = 6379;
        jp = new JedisPool(jpc,host,port);   
    }
    public static Jedis getJedis(){

        return jp.getResource();
    }
}

还可以再继续优化,将其共用部分写成配置文件

//redis.properties文件
redis.host = 127.0.0.1
redis.port = 6379
redis.maxTotal = 30
redis.maxIdle = 10
package com.juno.util;

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

import java.util.ResourceBundle;

/**
 * 手写连接池
 */
public class JedisUtils {
    private static JedisPool jp;
    private static String host;
    private static int port;
    private static int maxTotal;
    private static int maxIdle;
    static {
        JedisPoolConfig jpc=new JedisPoolConfig();
        ResourceBundle rb=ResourceBundle.getBundle("redis");
        host=rb.getString("redis.host");
        port=Integer.parseInt(rb.getString("redis.port"));
        maxTotal=Integer.parseInt(rb.getString("redis.maxTotal"));
        maxIdle=Integer.parseInt(rb.getString("redis.maxIdle"));
        jpc.setMaxTotal(maxTotal);
        jpc.setMaxIdle(maxIdle);
        jp=new JedisPool(jpc,host,port);
    }
    public static Jedis getJedis(){
        return jp.getResource();
    }
}

 

你可能感兴趣的:(Redis)