起初在JedisPool中配置了50个活动连接,但是程序还是经常报错:Could not get a resource from the pool

连接池刚开始是这样配置的:

JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(50);
config.setMaxIdle(20);
config.setMaxWaitMillis(1000 * 1);
config.setTestOnBorrow(true);
config.setTestOnReturn(true);
JedisPool pool = new JedisPool(config, "10.10.10.167", 6379);

经过测试发现程序的活动连接基本上只有1个,程序刚启动的时候可能会有2-5个活动的连接,但是过一段时间后就获取不到第二个活动的连接了。

后来修改为:

JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(200);
config.setMaxIdle(50);
config.setMinIdle(8);//设置最小空闲数
config.setMaxWaitMillis(10000);
config.setTestOnBorrow(true);
config.setTestOnReturn(true);
//Idle时进行连接扫描
config.setTestWhileIdle(true);
//表示idle object evitor两次扫描之间要sleep的毫秒数
config.setTimeBetweenEvictionRunsMillis(30000);
//表示idle object evitor每次扫描的最多的对象数
config.setNumTestsPerEvictionRun(10);
//表示一个对象至少停留在idle状态的最短时间,然后才能被idle object evitor扫描并驱逐;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义
config.setMinEvictableIdleTimeMillis(60000);JedisPool pool = new JedisPool(config, ip, port, 10000, "密码", 0);

经过几个小时的测试,读取redis了上百万次再也没有发生上述错误。

在这里进行简单的猜测:连接池中空闲的连接过一阵子就会自动断开,但是连接池还以为连接正常,就出现了这个错误。

另外,从连接池中获取连接的时候,可以写个循环,直到获取成功才让出循环。

转载于:https://www.cnblogs.com/qlong8807/p/5149007.html

redis提示Could not get a resource from the pool(jedis连接池配置)相关推荐

  1. spring boot 集成 redis spring-boot-starter-data-redis 2.1.7.RELEASE jedis: pool: #连接池配置 及踩坑经验

    目录 先上一些踩坑报错,各类报错 @org.springframework.beans.factory.annotation.Autowired(required=true) Error creati ...

  2. redis专题:redis键值设计、性能优化以及redis连接池配置

    文章目录 1.redis键值设计 ①:key设计规范 ②:value设计规范 2. 命令使用优化 3. redis连接池配置参数设计 4. redis连接池预热 5. redis的key过期删除策略 ...

  3. jedis连接池详解(Redis)

    转自:http://tianxingzhe.blog.51cto.com/3390077/1684306 原子性(atomicity): 一个事务是一个不可分割的最小工作单位,事务中包括的诸操作要么都 ...

  4. Redis之jedis连接池

    jedis连接池的代码: public class JedisPoolTest {//Redis服务器IPprivate static String ADDR = "127.0.0.1&qu ...

  5. Redis连接池配置详解

    连接池配置 文章目录 连接池配置 一.Redis连接池 二.jar包准备 三.编写代码配置,创建连接池,并调用处连接 总结 一.Redis连接池 与JDBC中在与数据库进行连接时耗时,从而需要引入连接 ...

  6. redis中 Could not get a resource from the pool 异常解决

    描述 这个错误产生的前提是这样的,将数据存入redis(新安装的)中,在通过连接池获取jedis实例时,产生如下错误( Could not get a resource from the pool). ...

  7. Java中使用Jedis连接池连接Redis数据库流程

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  8. Redis:Jedis连接池JedisPool

    目录 1.JedisPool的应用 1.1 基本应用 1.2 封装应用 1.3 增加超时重试 2.JedisPool配置 2.1 工厂配置 2.2 资源池配置 Jedis提供了连接池JedisPool ...

  9. redis客户端jedis连接和spring结合

    摘自传智博客课程 <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http ...

最新文章

  1. 顺序表-删除所有元素值为x结点(另建表存放+复制到原表)
  2. c# WebApi之身份验证:Basic基础认证
  3. IOS_CGRect
  4. 公司正式宣布创业失败!
  5. jq之mouseleave()
  6. python输出1000以内回文数_「答案」python每日一题20201108
  7. linux设置ntp开机同步时间同步,linux ntp时间同步
  8. 详解Spring中的CharacterEncodingFilter--forceEncoding为true在java代码中设置失效--html设置编码无效...
  9. 图论画图有力工具 csacadmy app Graph Editor
  10. Unite'17 Shanghai再一次问候
  11. BC95方案NBIOT入网配置教程
  12. laravel框架使用phpQuery库来实现网页抓取
  13. Postman如何设置为中文
  14. 鹏业安装算量软件项目管理功能的操作步骤
  15. Redis 作者 Antirez 讲如何实现分布式锁?Redis 实现分布式锁天然的缺陷分析Redis分布式锁的正确使用姿势!...
  16. CSS 如何做一个比较真实有感觉的阴影效果
  17. 东风风神酷我音乐显示服务器错误,评测:东风风神奕炫GS中控屏幕多媒体系统使用说明...
  18. revit中在三维视图下显示房间文字和“房间集成”
  19. 贾跃亭否认乐视IPO造假 为FF融资暂时不会回国
  20. 神同步的智能运维体系和世界杯442阵型

热门文章

  1. I am late!
  2. 保证Web数据库安全 认真把好七道关
  3. 全能型AI!用通用预训练感知模型处理多模态多任务!商汤西交港中文提出:Uni-Perceiver...
  4. ConvMLP:你见过长得像CNN的MLP吗?UOUIUC提出了用于视觉任务的层次卷积MLP
  5. 【推荐】本周值得关注的将开源论文,包含分类、分割、人脸、目标检测、ReID等...
  6. 准确估计透明物体的 3D 姿态:机器人收集 + Keypose 算法
  7. 图像检索新方向,阿里提出区域检索算法|CVPR 2020
  8. 灵活高效,内含SOTA模型,Facebook开源图像分类研究代码库pycls
  9. CVPR 2019 | Adobe提出新型超分辨率方法:用神经网络迁移参照图像纹理
  10. 229页,CMU博士张昊毕业论文~探索机器学习并行化的奥秘