Jedis Pool暫時的不足,無法連接多個redis服務(wù)器

1. jedis pool使用自己打包的jar讀取property文件連接redis服務(wù)器。

但是配置文件里的參數(shù)得好好搞清楚

2. 經(jīng)過多次研究,確認如下配置:

2032 $ cat JedisPoolConfig.properties

#最大分配的對象數(shù)

redis.pool.maxActive=1248

#最大/最小能夠保持idel狀態(tài)的對象數(shù)(超過最大則回收或者少于最小則創(chuàng)建)

redis.pool.maxIdle=80

redis.pool.minIdle=7

#當池內(nèi)沒有返回對象時,最大等待時間(毫秒)

redis.pool.maxWait=40000

#當調(diào)用borrow Object方法時,是否進行有效性檢查

redis.pool.testOnBorrow=true

#當調(diào)用return Object方法時,是否進行有效性檢查

redis.pool.testOnReturn=true

#IP

redis.ip=172.17.0.3

#Port

redis.port=6379

#超時時間(毫秒)

redis.timeout=40000

#Pwd

redis.pwd=XXXXX

3. 使用連接池后,網(wǎng)絡(luò)socket數(shù)量通過"netstat -ano|grep 6379|wc -l"看到明顯已降低。

4. 當前使用連接池方式為在代碼中獲取連接,最后釋放即可:

import com.tm.mc.redis.MCRedisInstance;

Jedis jedis = MCRedisInstance.getInstance().getJedis();

jedis.close();

5. 當前使用連接池方式的不足:

當項目中需要連接多個redis服務(wù)器的時候,無法完成該需求。

因為默認jar包只會讀取指定的一個配置文件,只能配置一個redis服務(wù)器。

后續(xù)若要實現(xiàn),可以在原來jar包基礎(chǔ)上判斷配置文件的名稱規(guī)范和數(shù)量,然后可以自動初始化連接到多個redis服務(wù)器的連接池。

6.后續(xù)將會把該思路延展到mongdb的連接池,進一步優(yōu)化程序效率。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容