JedisPoolConfig config = new JedisPoolConfig();
//連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true
config.setBlockWhenExhausted(true);
//設置的逐出策略類名, 默認DefaultEvictionPolicy(當連接超過最大空閑時間,或連接數超過最大空閑連接
數)
config.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy");
//是否啟用pool的jmx管理功能, 默認true
config.setJmxEnabled(true);
//MBean ObjectName = new ObjectName
("org.apache.commons.pool2:type=GenericObjectPool,name=" + "pool" + i); 默 認為"pool", JMX不熟,
具體不知道是干啥的...默認就好.
config.setJmxNamePrefix("pool");
//是否啟用后進先出, 默認true
config.setLifo(true);
//最大空閑連接數, 默認8個
config.setMaxIdle(8);
//最大連接數, 默認8個
config.setMaxTotal(8);
//獲取連接時的最大等待毫秒數(如果設置為阻塞時BlockWhenExhausted),如果超時就拋異常, 小於零:阻
塞不確定的時間, 默認-1
config.setMaxWaitMillis(-1);
//逐出連接的最小空閑時間 默認1800000毫秒(30分鍾)
config.setMinEvictableIdleTimeMillis(1800000);
//最小空閑連接數, 默認0
config.setMinIdle(0);
//每次逐出檢查時 逐出的最大數目 如果為負數就是 : 1/abs(n), 默認3
config.setNumTestsPerEvictionRun(3);
//對象空閑多久后逐出, 當空閑時間>該值 且 空閑連接>最大空閑數 時直接逐出,不再根據
MinEvictableIdleTimeMillis判斷 (默認逐出策略)
config.setSoftMinEvictableIdleTimeMillis(1800000);
//在獲取連接的時候檢查有效性, 默認false
config.setTestOnBorrow(false);
//在空閑時檢查有效性, 默認false
config.setTestWhileIdle(false);
//逐出掃描的時間間隔(毫秒) 如果為負數,則不運行逐出線程, 默認-1
config.setTimeBetweenEvictionRunsMillis(-1);
JedisPool pool = new JedisPool(config, "localhost",);
int timeout=3000;
new JedisSentinelPool(master, sentinels, poolConfig,timeout);//timeout 讀取超時