JedisConnectionException: Could not get a resource from the pool
? ? ? ? 最近,使用Redis做緩存時(shí),老是提示JedisConnectionException: Could not get a resource from the pool,Jedis無法從池中獲取資源,稍加分析,出現(xiàn)該問題無外乎2種情況:
? ? ? ? ?1.Jedis 對(duì)象用完以后未釋放掉,池中無可用資源,所以會(huì)出現(xiàn)無法獲取新的資源。
? ? ? ? ?2.JedisPoolConfig中最大連接數(shù)maxActive閥值設(shè)置的得太小。
? ? ? ? 逐一檢查:Jedis對(duì)象使用完后全部正常close關(guān)閉了;JedisPoolConfig中最大連接數(shù)maxActive配置為50,目前沒有達(dá)到最大連接數(shù)。
? ? ? 結(jié)論:無解????
? ? ?反復(fù)檢查,選擇相信自己,因?yàn)槭褂肦edis不止一次了,那么問題就不是Redis的問題,而我的Redis部署在Linux上面,那么就是Linux系統(tǒng)存在問題,再檢查一遍,原來如此,真相只有一個(gè),那就是沒有使用root登錄啟動(dòng)Redis,馬上su切換到root,重啟Redis,OK了。
問題總結(jié):
? ? ? ? 運(yùn)維部署Redis時(shí),使用的是root進(jìn)行操作,于是,當(dāng)使用其他非root用戶啟動(dòng)Redis時(shí),表面上Redis啟動(dòng)成功,沒有任何提示,實(shí)際上,Redis根本沒有權(quán)限讀取配置文件,創(chuàng)建臨時(shí)文件,所以Redis啟動(dòng)成功但是無法正常工作,所以報(bào)錯(cuò)。
? ? ? ? 記住:Redis啟動(dòng)成功,用ps aux |grep redis查看進(jìn)程正常,沒有報(bào)錯(cuò),但不一定工作正常,這個(gè)設(shè)計(jì)邏輯沒有毛病!?
總結(jié)
以上是生活随笔為你收集整理的JedisConnectionException: Could not get a resource from the pool的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解构沉浸式:AI+AR+Design 线
- 下一篇: python--jupyter note