網頁

2019/3/11

Redis 什麼是Jedis

Jedis是Java用來存取Redis的library。在Java程式中你可以透過Jedis來存取Redis中的資料


使用方法請參考這裡

在Java中簡單的使用方法如下:

import redis.clients.jedis.Jedis;

public class Main {
    public static void main(String[] args) {
        
        Jedis jedis = new Jedis("localhost", 6379); // 連線到localhost:6379。Redis server default port is 6379
        System.out.println(jedis.ping()); // 效果同Redis的ping指令,若Redis正常運行會返回"PONG"
    }
}

但在多執行緒的環境下應避免使用同一個Jedis實例,因為其並非執行緒安全的(non thread-safe),應該使用JedisPool來取得Jedis的實例。

JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost", 6379); // 建立連線池

Jedis jedis = null;
try{
    jedis = pool.getResource(); // 從連線池取得Jedis的實例
    jedis.set("foo", "bar");
    System.out.println(jedis.get("foo")); // bar
}catch(Exception e){
    e.printStackTrace();
}finally {
    if(jedis != null){
        jedis.close();
    }
}
pool.close();

Jedis的連接池是基於Common Pool 2,其繼承了GenericObjectPoolConfig<T>,而JedisPoolConfig可用設定連接池的一些配置,例如連線閒置時間或最大連線數等。


沒有留言:

張貼留言