转载。 https://blog.csdn.net/yaomingyang/article/details/79043019

一、连接池资源类详解都在注释上

  1. package redis.v1.client.server;
  2. import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
  3. import redis.clients.jedis.Jedis;
  4. import redis.clients.jedis.JedisPool;
  5. import redis.clients.jedis.JedisPoolConfig;
  6. public class JedisPoolClient {
  7. private static JedisPool pool = null;
  8. /**
  9. *
  10. * 方法描述 构建redis连接池
  11. *
  12. * @return
  13. *
  14. * @author yaomy
  15. * @date 2018年1月11日 下午4:53:07
  16. */
  17. static {
  18. if(pool == null) {
  19. JedisPoolConfig config = new JedisPoolConfig();
  20. //控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;
  21. //如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
  22. config.setMaxTotal(50);
  23. //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。
  24. config.setMaxIdle(5);
  25. //表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;单位毫秒
  26. //小于零:阻塞不确定的时间, 默认-1
  27. config.setMaxWaitMillis(1000*100);
  28. //在borrow(引入)一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
  29. config.setTestOnBorrow(true);
  30. //return 一个jedis实例给pool时,是否检查连接可用性(ping())
  31. config.setTestOnReturn(true);
  32. //connectionTimeout 连接超时(默认2000ms)
  33. //soTimeout 响应超时(默认2000ms)
  34. pool = new JedisPool(config, "127.0.0.1", 6379, 2000, "619868");
  35. }
  36. }
  37. /**
  38. *
  39. * 方法描述 获取Jedis实例
  40. *
  41. * @return
  42. *
  43. * @author yaomy
  44. * @date 2018年1月11日 下午4:56:58
  45. */
  46. public static Jedis getJedis() {
  47. return pool.getResource();
  48. }
  49. /**
  50. *
  51. * 方法描述 释放jedis连接资源
  52. *
  53. * @param jedis
  54. *
  55. * @author yaomy
  56. * @date 2018年1月12日 上午10:36:07
  57. */
  58. public static void returnResource(Jedis jedis) {
  59. if(jedis != null) {
  60. jedis.close();
  61. }
  62. }
  63. }

redis连接池(JedisPool)资源归还及timeout详解的更多相关文章

  1. redis连接池——JedisPool和JedisCluster的介绍与使用

    目录 Jedis使用方式的介绍 Redis连接池介绍 创建连接池配置文件 单机版的Redis连接池 集群版的Redis连接池 总结 Jedis使用方式的介绍 Jedis就是Java实现的操作Redis ...

  2. jdbc连接池中c3p0的配置文件的详解以及在在java中如何使用

    <c3p0-config> <!-- 默认配置,如果没有指定则使用这个配置 --> <default-config> <property name=" ...

  3. Java与redis交互、Jedis连接池JedisPool

    Java与redis交互比较常用的是Jedis. 先导入jar包: commons-pool2-2.3.jar jedis-2.7.0.jar 基本使用: public class RedisTest ...

  4. 三:Redis连接池、JedisPool详解、Redisi分布式

    单机模式: package com.ljq.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; ...

  5. java操作redis redis连接池

    redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...

  6. redis连接池 jedis-2.9.0.jar+commons-pool2-2.4.2.jar

    java使用Redis连接池  jar包为 jedis-2.9.0.jar+commons-pool2-2.4.2.jar jar下载地址 package com.test; import redis ...

  7. 实现一个redis连接池

    #*****************jedis连接参数设置*********************#redis服务器ipredis.ip=169.254.130.122#redis服务器端口号red ...

  8. redis连接池操作

    /** * @类描述 redis 工具 * @功能名 POJO * @author zxf * @date 2014年11月25日 */public final class RedisUtil { p ...

  9. Redis连接池

    package com.lee.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; impor ...

随机推荐

  1. 大文件上传组件webupload插件

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  2. 不要轻易在java ext 目录放任何三方jar包

    今天在编写一个简单spi 应用demo的时候,在编译时总有一个其他的错误,如下: ERROR Failed to execute goal org.apache.maven.plugins:maven ...

  3. CCF 201803-3 URL映射

    CCF 201803-3  URL映射 试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django. ...

  4. cogs 998. [東方S2] 帕秋莉·诺蕾姬

    二次联通门 : cogs 998. [東方S2] 帕秋莉·诺蕾姬 交上去后发现自己没上榜 就想着加点黑科技 把循环展开一下 结果WA了.. 万恶的姆Q /* cogs 998. [東方S2] 帕秋莉· ...

  5. 服务器使用ssh秘钥登录并禁止密码登录

    问题: 最近在登录服务器的时候,每次都会有提示999+ falied login等字眼,意思就是自己的服务器密码正在被人暴力破解.想象以下,别人有了你的服务器的root登录密码,那么就可以对你的服务器 ...

  6. GoCN每日新闻(2019-11-05)

    GoCN每日新闻(2019-11-05) GoCN每日新闻(2019-11-05) 1. Protobuf 终极教程 https://colobu.com/2019/10/03/protobuf-ul ...

  7. 模拟30A 题解

    A. 树 联想起远古考试时做的题 记忆的轮廓. 树上走一些步数的期望. 显然可以直接解方程. 然而复杂度$O(qn^3)$,利用树上的性质优化一下, 直接一遍dfs过程中解出来,可以$O(qnlogm ...

  8. ubuntu下Java通过JNI调用C

    下面看一个实例,如下: public class TestJNI { static { System.loadLibrary("diaoyong"); // 程序在加载时,自动加载 ...

  9. Unknown column 'startname' in 'field list

    Unknown column 'startname' in 'field list  字段匹配不上 解决思路 1.检查数据库字段名与sql中的字段名是否一致 2.是否为关键字或中英文区别 ,(关键字可 ...

  10. 冰多多团队-第五次Scrum会议

    冰多多团队-第五次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj 部分Action整合, 接入语音接口,整合项目解决兼容性问题 ASR bug修复 牛雅哲 跑通了科大讯飞语法识别的 ...