Redis筆記2:Jedis連線池

zhenghaishu發表於2016-01-12

Jedisredisjava客戶端。我們可以在java程式設計中使用它來編寫java程式碼訪問Redis服務。

在編寫程式碼之前,需要從

下載最新版本的jediscommons-pool2jar包,這裡下載的是jedis-2.8.0.jarcommons-pool2-2.0.jar

如果需要檢視原始碼,需要把jedis-2.8.0-sources.jarcommons-pool2-2.0-sources.jar也一併下載下來。

 

一、Jedis單連線示例

建立一個JedisTest工程,把上面下載的四個包新增進工程,如下圖所示

Redis筆記2:Jedis連線池

 

建立JedisTest.java檔案,程式碼如下

import redis.clients.jedis.Jedis;

 

public class JedisTest {

 

  public static void main(String[] args) {

        try {

            String host = "127.0.0.1";//控制檯顯示訪問地址

            int port = 6379;

            Jedis jedis = new Jedis(host, port);

            //鑑權資訊由使用者名稱:密碼拼接而成

            jedis.auth("123456");//instance_id:password

          

            String key = "ping";

            String value = "pong";

            //select db預設為0

            jedis.select(1);

            //set一個key

            jedis.set(key, value);

            System.out.println("Set Key: " + key + ", Value: " + value);

            //get 設定進去的key

            String getvalue = jedis.get(key);

            System.out.println("Get Key: " + key + ", ReturnValue: " + getvalue);

            jedis.quit();

            jedis.close();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

 

執行結果:

Set Key: ping, Value: pong

Get Key: ping, ReturnValue: pong

 

二、JedisPool連線池示例

將上個例子中main函式的實現程式碼改為:

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;

import java.util.Set;

 

public class JedisTest {

   

    public static void main(String[] args) {

        JedisPoolConfig config = new JedisPoolConfig();

        //最大空閒連線數, 應用自己評估,不要超過AliCloudDB for Redis每個例項最大的連線數

        config.setMaxIdle(200);

        //最大連線數, 應用自己評估,不要超過AliCloudDB for Redis每個例項最大的連線數

        config.setMaxTotal(300);

        config.setTestOnBorrow(false);

        config.setTestOnReturn(false);

 

        String host = "127.0.0.1";

        String password = "123456";

        JedisPool pool = new JedisPool(config, host, 6379, 3000, password);

        Jedis jedis = null;

        for(int i = 0; i < 5; i++) {

            try {

                jedis = pool.getResource();

                jedis.set("foo", "bar");

                String foobar = jedis.get("foo");

                System.out.println(foobar);

                jedis.zadd("name", 0, "Zhang San");

                jedis.zadd("name", 0, "Li Si");

                Set sose = jedis.zrange("name", 0, -1);

                System.out.println(sose);

            } finally {

                if (jedis != null) {

                    jedis.close();

                }

            }

        }

        pool.close();

    }

}

 

執行結果:

bar

[Li Si, Zhang San]

bar

[Li Si, Zhang San]

bar

[Li Si, Zhang San]

bar

[Li Si, Zhang San]

bar

[Li Si, Zhang San]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-1975279/,如需轉載,請註明出處,否則將追究法律責任。

相關文章