jedis作為redis的最佳客戶端,它提供了連線池的特性,「連線池」在通常情況下可以有效的提高應用的通訊能力,並且這是一種良好的設計模式。jedis的連線池設計基於apache commons-pool原生庫,僅作了簡單的封裝;在本文中,我將介紹如何使用jedispool進行程式設計。
一.連線池基本引數詳解
maxactive: 鏈結池中最大連線數,預設為8.
maxidle: 鏈結池中最大空閒的連線數,預設為8.
minidle: 連線池中最少空閒的連線數,預設為0.
maxwait: 當連線池資源耗盡時,呼叫者最大阻塞的時間,超時將跑出異常。單位,毫秒數;預設為-1.表示永不超時.
minevictableidletimemillis: 連線空閒的最小時間,達到此值後空閒連線將可能會被移除。負值(-1)表示不移除。
softminevictableidletimemillis: 連線空閒的最小時間,達到此值後空閒鏈結將會被移除,且保留「minidle」個空閒連線數。預設為-1.
numtestsperevictionrun: 對於「空閒鏈結」檢測線程而言,每次檢測的鏈結資源的個數。預設為3.
testonborrow: 向呼叫者輸出「鏈結」資源時,是否檢測是有有效,如果無效則從連線池中移除,並嘗試獲取繼續獲取。預設為false。建議保持預設值.
testonreturn: 向連線池「歸還」鏈結時,是否檢測「鏈結」物件的有效性。預設為false。建議保持預設值.
testwhileidle: 向呼叫者輸出「鏈結」物件時,是否檢測它的空閒超時;預設為false。如果「鏈結」空閒超時,將會被移除。建議保持預設值.
timebetweenevictionrunsmillis: 「空閒鏈結」檢測線程,檢測的週期,毫秒數。如果為負值,表示不執行「檢測線程」。預設為-1.
whenexhaustedaction: 當「連線池」中active數量達到閥值時,即「鏈結」資源耗盡時,連線池需要採取的手段, 預設為1:
-> 0 : 丟擲異常,
-> 1 : 阻塞,直到有可用鏈結資源
-> 2 : 強制建立新的鏈結資源
二.程式例項
public class pooltestmain catch(exception e)finally
}}
三.spring與jedis連線池
1) beans.xml: 位於/resources/beans.xml
2) 測試類:不過在實際的spring環境中,只需要「注入」即可.
public static void main(string args) catch(exception e)finally
}
四.spring-data整合
上述**,事實上存在設計上尚有改進之處,spring-data中對redis的支援,在程式設計級別更加輕便,<此方面內容將會在稍後專門介紹.>
Jedis程式設計設計 連線池
jedis作為redis的最佳客戶端,它提供了連線池的特性,連線池 在通常情況下可以有效的提高應用的通訊能力,並且這是一種良好的設計模式。jedis的連線池設計基於apache commons pool原生庫,僅作了簡單的封裝 在本文中,我將介紹如何使用jedispool進行程式設計。一.連線池基本...
Jedis連線池的使用
所需jar jedis 2.1.0.jar和commons pool 1.5.4.jar jedis操作步驟如下 1 獲取jedis例項需要從jedispool中獲取 2 用完jedis例項需要返還給jedispool 3 如果jedis在使用過程中出錯,則也需要還給jedispool packag...
Jedis連線池的使用
所需jar jedis 2.1.0.jar和commons pool 1.5.4.jar jedis操作步驟如下 1 獲取jedis例項需要從jedispool中獲取 2 用完jedis例項需要返還給jedispool 3 如果jedis在使用過程中出錯,則也需要還給jedispool 如下 pac...