Jedis程式設計設計 連線池

2021-07-30 08:02:11 字數 1577 閱讀 5201

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...