1. 程式人生 > >[Redis on Java]Redis Jedis緩衝池配置總結(補充中)

[Redis on Java]Redis Jedis緩衝池配置總結(補充中)

在Jedis初始化時會有一些配置項可以配置, 或者有些框架會提供對應的屬性供配置

下面會有一些常用的引數的意義,可供參考

//連線耗盡時是否阻塞, false報異常,ture阻塞直到超時, 預設true

setBlockWhenExhausted(true);

//設定的逐出策略類名, 預設DefaultEvictionPolicy(當連線超過最大空閒時間,或連線數超過最大空閒連線數)
setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy");

//是否啟用pool的jmx管理功能, 預設true

setJmxEnabled(true);

//是否啟用後進先出, 預設true
setLifo(true);

//最大空閒連線數, 預設8個
setMaxIdle(8);

//最大連線數, 預設8個
setMaxTotal(8);

//獲取連線時的最大等待毫秒數(如果設定為阻塞時BlockWhenExhausted),如果超時就拋異常, 小於零:阻塞不確定的時間,  預設-1
setMaxWaitMillis(-1);

//逐出連線的最小空閒時間 預設1800000毫秒(30分鐘)
setMinEvictableIdleTimeMillis(1800000);

//最小空閒連線數, 預設0
setMinIdle(0);

//每次逐出檢查時 逐出的最大數目 如果為負數就是 : 1/abs(n), 預設3

setNumTestsPerEvictionRun(3);

//物件空閒多久後逐出, 當空閒時間>該值 且 空閒連線>最大空閒數 時直接逐出,不再根據MinEvictableIdleTimeMillis判斷  (預設逐出策略)   
setSoftMinEvictableIdleTimeMillis(1800000);

//在獲取連線的時候檢查有效性, 預設false
setTestOnBorrow(false);

//在空閒時檢查有效性, 預設false
setTestWhileIdle(false);

//逐出掃描的時間間隔(毫秒) 如果為負數,則不執行逐出執行緒, 預設-1
setTimeBetweenEvictionRunsMillis(-1);