1. 程式人生 > >Java連線Redis及使用

Java連線Redis及使用

一、Jedis介紹

JedisRedis官方首選的Java客戶端開發包;

Jedis的GitHUB地址https:github.com/xetorthio/jedis

 

二、Jedis的jar包

commons-pool2-2.3.jar

jedis-2.7.0.jar

 

1、新建一個java專案;

2、在src下新建一個lib資料夾

3、將Jedis的jar複製放到lib下面

4、選中Jedis的兩個Jar包右擊,選擇Build Path->Add to Build Path,新增到構建路徑

5、建立一個package,命名為com.imooc.jedis,在下面建立一個JedisDemo.java檔案

 

三、使用Jedis

在Linux系統上開啟Redis的6379埠

進入Linux防火牆的設定
vim /etc/sysconfig/iptables

增加一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

按Esc,:wq退出

重啟Linux防火牆

service iptables restart

執行Java程式,Run As => Junit Test


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

/**
 * Jedis測試
 * @since 2018年10月15日
 */
public class JedisDemo1{

    @Test
    /**
     * 單例項的測試
     */
    public void demo1(){
        // 1. 設定IP地址和埠
        Jedis jedis = new Jedis("192.168.32.130",6379);
        // 2. 儲存資料
        jedis.set("name","imooc");
        // 3. 獲取資料
        String value = jedis.get("name");
        System.out.println(value);
        // 4.釋放資源
        jedis.close();
    }

}

執行成功

 

Jedis和JDBC是很類似的,它也可以使用連線池來進行操作

連線池的方式

 


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

/**
 * Jedis測試
 */
public class JedisDemo1{

    @Test
    /**
     * 連線池連線方式
     */
    public void demo2(){
        // 獲取連線池配置物件
        JedisPoolConfig config = new JedisPoolConfig();
        // 設定最大連線數
        config.setMaxTotal(30);
        // 設定最大的空閒連線數
        config.setMaxIdel(10);

        // 獲得連線池: JedisPool jedisPool = new JedisPool(poolConfig,host,port);
        JedisPool jedisPool = new JedisPool(config,"192.168.32.130",6379);

        // 獲得核心物件:jedis
        Jedis jedis = null;
        try{
            // 通過連線池來獲得連線
            jedis = jedisPool.getResource();
            // 設定資料
            jedis.set("name","張三");
            // 獲取資料
            String value = jedis.get("name");
            System.out.println(value);
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            // 釋放資源
            if(jedis != null){
                jedis.close();
            }
            // 釋放連線池
            if(jedisPool != null){
                jedisPool.close();
            }
        }

    }

}

連線池使用總結

➀ 獲取連線池配置物件

➁ 設定最大連線數和最大空閒連線數

➂ 獲得連線池

➃ 獲得核心物件

➄ 通過連線池獲得連結

➅ 設定資料

➆ 獲取資料

➇ 釋放Jedis資源

➈ 釋放jedisPool資源