java連線redis
阿新 • • 發佈:2019-02-08
java連結redis需要使用jedis包,例項使用的是jedis-2.8.1.jar 下載地址:http://pan.baidu.com/s/1jHLN9u2
一、建立連線池
private JedisPool pool = null; public void init(){// 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(8);//最大連線數 config.setMaxIdle(50); //最大空閒連線數 config.setMinIdle(5); //最小空閒連線數 config.setMaxWaitMillis(1000l); //獲取連線時的最大等待毫秒數(如果設定為阻塞時BlockWhenExhausted),如果超時就拋異常, 小於零:阻塞不確定的時間, 預設-1 config.setTestOnBorrow(false); //在獲取連線的時候檢查有效性, 預設false config.setTestWhileIdle(false);//在空閒時檢查有效性, 預設false pool = new JedisPool(config,"192.168.1.101",6379); }
二、從連線池中獲取連結查詢,查詢完畢記得關閉連線
public void getKey() {
Jedis jedis = null;
try{
String name = jedis.get("name");
} catch (Exception e) {
e.printStackTrace();
jedis.close();
}
}
出現問題描述: 1.Could not get a resource from the pool, Connection refused: connect
windows Java這邊客戶端連結被拒接了,想想問題
1.Vmware裡面的Linux所安裝的Redis已經正常啟動
2.在windows用ssh客戶端連結linux可以操作redis
3.linux防火牆已經關閉
4.拼linux的ip也能拼通
按理說應該沒問題,下利用telnet測試下埠
telnet 192.168.0.104 6379發現埠不能拼通,但是linu下其他的埠能拼通,說明就是redis自身配置的問題了
看了下配置檔案,發現配置檔案綁定了本地ip,該配置會導致,其他ip登入被拒絕,所以我們把它註釋掉
並設定 protected-mode no //關閉保護模式