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","6379");