记一次线上redis报错(JedisExhaustedPoolException: Could not get a resource since the pool is exhausted)
错误详情
redis.clients.jedis.exceptions.JedisExhaustedPoolException: Could not get a resource since the pool is exhausted
at redis.clients.jedis.util.Pool.getResource(Pool.java:78)
at redis.clients.jedis.ShardedJedisPool.getResource(ShardedJedisPool.java:42)
面向百度编程的我,二话不说就把错误ctrl+c and ctrl+v进搜索框,一输入,看了几篇文章,原因主要有几个
- redis服务本身有问题
- redis连接池使用完以后没有及时释放,导致链接不够用
解决
redis服务是集团搭建的,所以首先排除了redis本身的问题,查看日志一开始看到报错都在登录消息里,以为单纯的只是登录消息量太大,导致redis不够用了。没重视,重新部署一遍代码上线问题初步解决。
第二次线上又报错了,出了一身汗,这次在看了一遍网上的帖子,如果是try 里面使用jedis的话,一定要自己释放连接。再次ctrl+f搜索代码中自己redis操作的地方,这次发现了一个大问题
try {ShardedJedis redis = poolMaster.getResource();redis.hset(getSetHotCornerKey(day), xxx, 1 + "");redis.expire(getSetHotCornerKey(day), REDIS_EXPIRE_SECONDS);} catch (Exception e) {log.error("xxx uid:{},exception:{}", uid, e);}
没有释放连接啊啊啊啊,真想给自己一个大嘴巴子
try(ShardedJedis redis = poolMaster.getResource()) {redis.hset(getSetHotCornerKey(day), xxx, 1 + "");redis.expire(getSetHotCornerKey(day), REDIS_EXPIRE_SECONDS);} catch (Exception e) {log.error("xxx uid:{},exception:{}", uid, e);}
这样就可以自己释放连接了。明天发线上观察观察
记一次线上redis报错(JedisExhaustedPoolException: Could not get a resource since the pool is exhausted)相关推荐
- redis报错,Could not get a resource from the pool,Unable to validate object找不到可用的连接池
报错如下: 追踪源码发现第一个错误信息redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource ...
- vue3 全局注册app.config.globalProperties, 如何处理getCurrentInstance 上下文线上环境报错
vue3挂载全局属性和方法,使用app.config.globalProperties, 但是在组件中获取全局上下文的时候getCurrentInstance会在线上环境报错. 搜索了一遍,看了好多文 ...
- 【vue打包】线上部署报错net::ERR_ABORTED 404 (Not Found)
文章目录 一.问题: 二.分析: 三.解决: 四.扩展: 一.问题: 线上部署报错net::ERR_ABORTED 404 (Not Found),但本地部署到nginx里面却没问题 二.分析: pu ...
- 前端代码 Jenkins 线上打包报错:TypeError: StackFrame is not a constructor
两个月没来公司上班,今日开工遇到一个及其有意思的问题:Jenkins 线上打包前端代码,在控制台日志中打包的时候报错: When setting `useBuiltIns: 'usage'`, pol ...
- 记一次SpringBoot操作redis报错 Error creating bean with name ‘dataSource‘ defined in class path resource解决方法
代码块 以下为Springboot操作Redis一些简单的测试代码 maven依赖 <dependency><groupId>org.springframework.boot& ...
- js[mqtt线上环境报错net.createConnection is not a function]
报错版本: mqtt 4.2.x 版本 官方issues https://github.com/mqttjs/MQTT.js/issues/1140 报错内容: 解决方案: 降低版本,并且将 '^' ...
- springboot报错:Could not get a resource from the pool redis.clients.jedis.exceptions.JedisConnection
运行项目时报错: 2022-04-15 19:27:54.052 ERROR 9676 --- [nio-8181-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServl ...
- 记一次线上Redis高负载排查经历
作者:JingQ https://www.sevenyuan.cn/ 周一早上刚上班,突然大量用户反馈进入网页很慢,登录服务器一看,Redis调用时间严重超时,这样高速的缓存反而变成了短板,由于数据一 ...
- springboot项目报错JedisConnectionException: Could not get a resource from the pool
读取redis配置文件错误,更改下面配置后启动正常
最新文章
- ASP.NET MVC – HTML 帮助器简介
- python中判断字符是否为中文
- Verilog中关于case语句的优先级
- Android开源框架——内存泄漏检测工具 LeakCanary
- missforest_missforest最佳丢失数据插补算法
- 给大家推荐一个优质Linux内核技术公众号-Linux阅码场
- 让你又爱又恨的推荐系统--程序猿篇
- Django相关配置(包括数据库、templates、static等)信息—Django2.0
- 浅谈SQL Server中的事物日志(一)
- 035 spring amqp
- 大数据如何学习 cda认证_大数据学习之学习要求
- 启发式搜索 :A*算法详解
- element技巧之element的dialog弹出框可拖拽、可拉伸、可全屏并处理边界问题
- SpringCloud极简入门(三)服务提供者与消费者
- 2022年湖南省自考考试学前教育幼儿文学练习题及答案
- 第三方开源项目名称_开源名称中有什么?
- http实现大文件上传
- 所有平台emoji表情查询网站,记录一下
- Ubuntu16.04下的主题美化
- [JVM]了断局: 堆外内存无法 [ -XX:MaxDirectMemorySize ] 限制