問題出現的現象:
長時間很頻繁的對redis進行讀或者寫的操作時,會出現“Could not get a resource from the pool”的錯誤。
出現此錯誤后,“Jedis jedis = jedisPool.getResource()”中的jedisPool已經無法從連接池中再獲取jedis資源對象,
就導致以后任何讀或寫redis的操作都無法實現。
問題解決方法:
最開始嘗試去修改redis配置文件中的“maxTotal”連接池的最大連接數,
發現就算改成1000,也只不過是延長了此錯誤的出現時間而已,就表明修改配置與此問題無關。
然后開始猜測是不是之前調用redis的資源沒有釋放導致資源連接數一直在消耗,最終在每次調用完redis時加上手動去釋放連接的代碼,解決問題。