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