1. 参数
  2. setTestWhileIdle() 在空闲时检查有效性 true
  3. setMinEvictableIdleTimeMillis() 连接最小空闲时间 1800000L
  4. setTimeBetweenEvictionRunsMillis() 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1 30000
  5. setNumTestsPerEvictionRun() 每次释放连接的最大数目 3
  6. setBlockWhenExhausted(boolean blockWhenExhausted) 当池中的资源耗尽时是否进行阻塞,设置false直接报错,true表示会一直等待,直到有可用资源
  7. setEvictionPolicyClassName(String evictionPolicyClassName) 设置逐出策略,默认策略为 org.apache.commons.pool2.impl.DefaultEvictionPolicy
  8. setFairness(boolean fairness) 当从池中获取资源或者将资源还回池中时 是否使用java.util.concurrent.locks.ReentrantLock.ReentrantLock 的公平锁机制,默认为false
  9. setJmxEnabled 设置是否启用JMX,默认true
  10. setJmxNameBase(String jmxNameBase) 设置JMX基础名
  11. setJmxNamePrefix(String jmxNamePrefix) 设置JMX前缀名,默认值pool
  12. setLifo(boolean lifo) 设置连接对象是否后进先出,默认true
  13. setMaxIdle(int maxIdle) 设置最大空闲连接数,默认为8
  14. setMaxTotal(int maxTotal) 设置最大连接数,默认18
  15. setMaxWaitMillis(long maxWaitMillis) 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1
  16. setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis) 设置连接最小的逐出间隔时间,默认1800000毫秒
  17. setMinIdle(int minIdle) 设置无连接时池中最小的连接个数,默认连接0
  18. setNumTestsPerEvictionRun(int numTestsPerEvictionRun) 每次逐出检查时,逐出连接的个数
  19. setSoftMinEvictableIdleTimeMillis(softMinEvictableIdleTimeMillis) 对象空闲多久后逐出, 当空闲时间>该值 空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断
  20. setTestOnBorrow(boolean testOnBorrow) 从池中获取连接时是否测试连接的有效性,默认false
  21. setTestOnCreate(boolean testOnCreate) 在连接对象创建时测试连接对象的有效性,默认false
  22. setTestOnReturn(boolean testOnReturn) 在连接对象返回时,是否测试对象的有效性,默认false
  23. setTestWhileIdle(boolean testWhileIdle) 在连接池空闲时是否测试连接对象的有效性,默认false
  24. setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis) 设置连接对象有效性扫描间隔,设置为-1,则不运行逐出线程

java代码:

  1. 1 JedisConnectionFactory jedisConnectionFactory() {
  2. 2
  3. 3 JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
  4. 4
  5. 5 // //设置是否后进先出 默认为true ,false为FIFO先进先出
  6. 6 // jedisPoolConfig.setLifo(true);
  7. 7 // //在连接对象创建时测试连接对象的有效性,默认false
  8. 8 // jedisPoolConfig.setTestOnCreate(false);
  9. 9 // //公平机制 默认为false
  10. 10 // jedisPoolConfig.setFairness(false);
  11. 11 // //连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true
  12. 12 // jedisPoolConfig.setBlockWhenExhausted(true) ;
  13. 13 // // 默认为空
  14. 14 // jedisPoolConfig.setJmxNameBase(null);
  15. 15 // //默认为pool
  16. 16 // jedisPoolConfig.setJmxNamePrefix("pool");
  17. 17 // //设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)
  18. 18 // jedisPoolConfig.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy") ;
  19. 19 //最大连接数, 默认8个
  20. 20 jedisPoolConfig.setMaxTotal(8);
  21. 21 //最大空闲连接数, 默认8个
  22. 22 jedisPoolConfig.setMaxIdle(8);
  23. 23 //每次测试运行驱逐数目 默认为3个线程
  24. 24 jedisPoolConfig.setNumTestsPerEvictionRun(2);
  25. 25 //获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1
  26. 26 jedisPoolConfig.setMaxWaitMillis(6000);//6s
  27. 27 //驱逐线程关闭的超时时间,默认10秒
  28. 28 jedisPoolConfig.setEvictorShutdownTimeoutMillis(15000) ;
  29. 29 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  30. 30 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  31. 31 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  32. 32 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  33. 33 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  34. 34 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  35. 35 //是从连接池中取出是检查连接是否失活。默认false(节省性能)
  36. 36 //若testOnBorrow属性设置为true,从连接池中获取对象时,会进行检查,检查不通过,会从连接池中移走并销毁。
  37. 37 //检查是通过PooledObjectFactory接口的validateObject方法完成。Jedis客户端,提供JedisFactory对象,用于校验。若ping不通,则校验失败。
  38. 38 //JedisFactory对象,是在连接池创建时,构造。 默认为false(节省性能)
  39. 39 // jedisPoolConfig.setTestOnBorrow(false);//一搬都为默认,
  40. 40 //若testOnReturn属性设置为true,归还连接时,会进行检查,检查不通过,销毁。 默认为false(节省性能)
  41. 41 // jedisPoolConfig.setTestOnReturn(false);//一搬都为默认,
  42. 42
  43. 43
  44. 44 //失效连接主要通过testWhileIdle保证,如果获取到了不可用的数据库连接,一般由应用处理异常。
  45. 45 //在检查闲置连接时同时检查连接可用性 默认false 这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义;
  46. 46 jedisPoolConfig.setTestWhileIdle(true);
  47. 47 // 在minEvictableIdleTimeMillis基础上,加入了至少minIdle个对象已经在pool里面了。
  48. 48 // 如果为-1,evicted不会根据idle time驱逐任何对象。如果minEvictableIdleTimeMillis>0,则此项设置无意义,
  49. 49 // 且只有在timeBetweenEvictionRunsMillis大于0时才有意义;
  50. 50 //对象空闲多久后逐出, 当空闲时间>该值 且 空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断
  51. 51 jedisPoolConfig.setSoftMinEvictableIdleTimeMillis(30000);//15s一次
  52. 52
  53. 53 //逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1 30000
  54. 54 jedisPoolConfig.setTimeBetweenEvictionRunsMillis(60000);
  55. 55 // //连接最小空闲时间 1000L * 60L * 30L; 默认半小时(单位毫秒)
  56. 56 // jedisPoolConfig.setMinEvictableIdleTimeMillis(1800000);//setSoftMinEvictableIdleTimeMillis与setSoftMinEvictableIdleTimeMillis和setTestWhileIdle只能存在一个
  57. 57 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  58. 58 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  59. 59 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  60. 60 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  61. 61 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  62. 62 //》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
  63. 63
  64. 64 // Only 2.6.0 applications set this
  65. 65 // jedisPoolConfig.setEvictionPolicy(EvictionPolicy<T> evictionPolicy) ;
  66. 66
  67. 67 JedisConnectionFactory factory = new JedisConnectionFactory(redisClusterConfiguration(), jedisPoolConfig);
  68. 68 return factory;
  69. 69 }

redis《三》连接池配置参数的更多相关文章

  1. spring数据连接池配置参数

    1.使用jdbc连接,每次使用完毕需要关闭连接. 2.使用数据库连接池就会方便很多,但是如果参数配置不对,也会引起mysql连接数不够,导致mysql挂掉,基本原理是:不使用的连接数及时回收回来,而不 ...

  2. dbcp连接池配置参数

    1.<!-- 数据源1 --> 2. <bean id="dataSource" 3. class="org.apache.commons.dbcp.B ...

  3. Confluence 6 LDAP 连接池配置参数

    初始连接池大小(Initial Pool Size) 当初始化 LDAP 连接池的时候初始化创建的 LDAP 连接数量. 1 期望的连接池大小(Preferred Pool Size) 优化连接池的大 ...

  4. java客户端Jedis操作Redis Sentinel 连接池

    pom配置: <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...

  5. C3p0连接池配置

    在Java开发中,使用JDBC操作数据库的四个步骤如下:   ①加载数据库驱动程序(Class.forName("数据库驱动类");)   ②连接数据库(Connection co ...

  6. Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  7. redis.windows.conf各项配置参数介绍 (九)

    # 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemonize:是否以后台daemon方式运行 # 如redis服务以后台进程运行的时候 ...

  8. hibernate+mysql的连接池配置

    1:连接池的必知概念    首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了. 以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放.如果频繁的 ...

  9. redis运用连接池报错解决

    redis使用连接池报错解决redis使用十几小时就一直报异常 redis.clients.jedis.exceptions.JedisConnectionException: Could not g ...

随机推荐

  1. 痞子衡嵌入式:嵌入式Cortex-M裸机环境下临界区保护的三种实现

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是Cortex-M裸机环境下临界区保护的三种实现. 搞嵌入式玩过 RTOS 的朋友想必都对 OS_ENTER_CRITICAL().OS_ ...

  2. Tbase读写分离与分库分表

    一.读写分离 1.1 what 读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),而从数据库处理SELECT查询操作.数据库复制被用来把事 ...

  3. FormData提交文件(十四)

    问题 在通过ajax提交表单时,表单中有Excel文件,在后台还需要读取excel文件中的数据,普通的提交方式无法实现.可以通过创建FormData对象的方式. 代码示例: 前端: 创建想要提交的fo ...

  4. 跨域jsonp+jQuery+json+html动态生成表格

    1.什么是跨域 浏览器对于javascript的同源策略的限制,例如a.cn下面的js不能调用b.cn中的js,对象或数据(因为a.cn和b.cn是不同域),所以跨域就出现了. 凡是拥有scr这个属性 ...

  5. 轮播图 -- view, swiper

    效果图 制作步骤: 一.创建一个page 二.编写demo.wxml写界面元素 <!--miniprogram/pages/demo/demo.wxml--> <view class ...

  6. 利用奇偶数来获取websocket推送时间间隔(或者比较前一个数和下一个数的变化)

    利用奇偶数来获取websocket推送时间间隔(或者比较前一个数和下一个数的变化) 在vue中的 data () {     return { countTime: 0,         newDat ...

  7. ThinkPHP 2.x 任意代码执行漏洞

    直接访问 http://192.168.49.2:8080/index.php?s=/index/index/name/$%7B@phpinfo()%7D

  8. 终于彻底搞清楚了spin-lock 之一次CPU问题定位过程总结

    首先这个问题,我只是其中参与者之一.但这个问题很有参考意义,特记录下来. 还有我第一次用"彻底"这个词,不知道会不会有人喷?其实,还有一些问题,也不是特别清楚.比如说什么是CPU流 ...

  9. rabbitmq消息处理-转载

    目录 1. 消息如何保障百分之百的投递成功? 1.1 方案一:消息落库,对消息状态进行打标 1.2 方案二:消息的延迟投递,做二次确认,回调检查 2. 幂等性 2.1 幂等性是什么? 2.2 消息端幂 ...

  10. webservice接口调用

    package com.montnets.emp.sysuser.biz; import org.apache.axis.client.Call; import org.apache.axis.cli ...