redis的Java客戶端jedis池的介紹及使用
阿新 • • 發佈:2019-02-07
一、jedis池的介紹
相信大家都用過執行緒池或者是jdbc的連線池,使用池可以減少系統在使用所需物件時建立物件的開銷,從而提高系統性能和效率。jedis池也是如此,那麼我們該如何使用jedis池呢?
二、jedis池的使用
1.所需jar包:commons-pool.jar、jedis-2.1.0.jar 2.編寫Redis配置檔案(redis.properties):
3.編寫Java實現程式碼:
4.測試執行結果如下:
相信大家都用過執行緒池或者是jdbc的連線池,使用池可以減少系統在使用所需物件時建立物件的開銷,從而提高系統性能和效率。jedis池也是如此,那麼我們該如何使用jedis池呢?
二、jedis池的使用
1.所需jar包:commons-pool.jar、jedis-2.1.0.jar 2.編寫Redis配置檔案(redis.properties):
本例中程式碼如下:
#*****************jedis連線引數設定*********************# #redis伺服器ip # redis.ip=192.168.8.167 #redis伺服器埠號# redis.port=6379 #************************jedis池引數設定*******************# #jedis的最大分配物件# jedis.pool.maxActive=3000 #jedis最大儲存idel狀態物件數 # jedis.pool.maxIdle=1000 #jedis池沒有物件返回時,最大等待時間 # jedis.pool.maxWait=1500 #jedis呼叫borrowObject方法時,是否進行有效檢查# jedis.pool.testOnBorrow=true #jedis呼叫returnObject方法時,是否進行有效檢查 # jedis.pool.testOnReturn=true
3.編寫Java實現程式碼:
package com.zhongying.customer.utils; import java.io.IOException; import java.util.Properties; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class MyJedisPool { private static JedisPool pool; //靜態程式碼初始化池配置 static { try{ Properties props = new Properties(); props.load(MyJedisPool.class.getClassLoader().getResourceAsStream("redis.properties")); //建立jedis池配置例項 JedisPoolConfig config = new JedisPoolConfig(); //設定池配置項值 config.setMaxActive(Integer.valueOf(props.getProperty("jedis.pool.maxActive"))); config.setMaxIdle(Integer.valueOf(props.getProperty("jedis.pool.maxIdle"))); config.setMaxWait(Long.valueOf(props.getProperty("jedis.pool.maxWait"))); config.setTestOnBorrow(Boolean.valueOf(props.getProperty("jedis.pool.testOnBorrow"))); config.setTestOnReturn(Boolean.valueOf(props.getProperty("jedis.pool.testOnReturn"))); //根據配置例項化jedis池 pool = new JedisPool(config, props.getProperty("redis.ip"), Integer.valueOf(props.getProperty("redis.port"))); }catch (IOException e) { e.printStackTrace(); } } /**獲得jedis物件*/ public static Jedis getJedisObject(){ return pool.getResource(); } /**歸還jedis物件*/ public static void recycleJedisOjbect(Jedis jedis){ pool.returnResource(jedis); } /** * 測試jedis池方法 */ public static void main(String[] args) { Jedis jedis = getJedisObject();//獲得jedis例項 //獲取jedis例項後可以對redis服務進行一系列的操作 jedis.set("name", "zhuxun"); System.out.println(jedis.get("name")); jedis.del("name"); System.out.println(jedis.exists("name")); recycleJedisOjbect(jedis); //將 獲取的jedis例項物件還回遲中 } }
4.測試執行結果如下:
zhuxun
false
轉自網路,原作者已佚