redis使用连接池报错解决
程序员文章站
2022-06-12 21:28:08
...
redis使用十几小时就一直报异常
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:22)
at com.derbysoft.jredis.longkeytest.BorrowObject.run(BorrowObject.java:22)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1134)
at redis.clients.util.Pool.getResource(Pool.java:20)
原因是没有回收资源导致
正确的做法是
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:22)
at com.derbysoft.jredis.longkeytest.BorrowObject.run(BorrowObject.java:22)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1134)
at redis.clients.util.Pool.getResource(Pool.java:20)
原因是没有回收资源导致
正确的做法是
ShardedJedis jedis = shardedJedisPool.getResource(); try { jedis.set(key, value); } finally { shardedJedisPool.returnResource(jedis); }
上一篇: php表单提交实例讲解_PHP
下一篇: ThinkPHP开发系列一框架搭建
推荐阅读
-
使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '' for column 'createtime'的快速解决方法
-
解决Maven 项目报错 java.httpservlet和synchronized使用方法
-
windows10下使用IE浏览器出现报错的解决办法
-
使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '' for column 'createtime'的快速解决方法
-
windows10使用IE11浏览器出现已停止工作报错的解决方法
-
vue.js 中使用(...)运算符报错的解决方法
-
vue项目中使用vue-i18n报错的解决方法
-
解决Maven 项目报错 java.httpservlet和synchronized使用方法
-
使用cmd运行mysql数据库的时候,报错:"不是内部命令也不是可有运行的程序"问题的解决办法
-
vuex2中使用mapGetters/mapActions报错的解决方法