当前位置:   article > 正文

JedisPool连接池的配置及使用

JedisPool连接池的配置及使用

Jedis自带了一个连接池:JedisPool

使用方法:

1、创建JedisPool连接池对象
2、调用连接池对象的方法 getResource() 以获取Jedis连接
3、使用Jedis连接 完成方法
4、将连接归还到连接池中
  • 1
  • 2
  • 3
  • 4

连接池的构造参数:

#最大活动对象数     
redis.pool.maxTotal=1000    

#最大能够保持idel状态的对象数      
redis.pool.maxIdle=100  

#最小能够保持idel状态的对象数   
redis.pool.minIdle=50    

#当池内没有返回对象时 最大等待时间    
redis.pool.maxWaitMillis=10000    

#当调用borrow Object方法时 是否进行有效性检查    
redis.pool.testOnBorrow=true    

#当调用return Object方法时 是否进行有效性检查    
redis.pool.testOnReturn=true  

#“空闲链接”检测线程 检测的周期和毫秒数
#若为负值 则表示不运行“检测线程”
#默认为-1.  
redis.pool.timeBetweenEvictionRunsMillis=30000  

#向调用者输出“链接”对象时 是否检测它的空闲超时
redis.pool.testWhileIdle=true  

# 对于“空闲链接”检测线程而言 每次检测的链接资源的个数
#默认为3.  
redis.pool.numTestsPerEvictionRun=50  

#redis服务器的IP    
redis.ip=xxxxxx  

#redis服务器的Port端口号
redis1.port=6379   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

使用:

创建配置对象
JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
最大允许连接数
jedisPoolConfig.setMaxTotal(50);
最大空闲连接
jedisPoolConfig.setMaxIdle(10);

在创建Jedis连接池对象的时候传入配置对象 同时须设置服务端地址
JedisPool jedisPool=new JedisPool(jedisPoolConfig,"localhost",6379);

...

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

抽取配置文件作为一个工具类

创建一个配置文件jedis.properties用于保存参数

host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10
  • 1
  • 2
  • 3
  • 4

还可自己根据需要添加

使用:

创建连接池对象
private static JedisPool jedisPool;

定义静态代码块 当类加载时即读取配置文件 并对连接池对象进行数值设置
static
{
      读取配置文件
      InputStream resourceAsStream = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");

      创建Properties对象
      Properties properties=new Properties();

      将Properties对象和配置文件相关联
      try
      {
            properties.load(resourceAsStream);
      }
      catch (IOException e)
      {
            e.printStackTrace();
      }

      从Properties对象中获取数据 并设置到JedisPoolConfig中
      JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
      jedisPoolConfig.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));
      jedisPoolConfig.setMaxIdle(Integer.parseInt(properties.getProperty("maxIdle")));

      初始化JedisPool连接池对象
      jedisPool=new JedisPool(jedisPoolConfig,properties.getProperty("host"), Integer.parseInt(properties.getProperty("port")));
}

// 提供获取连接的方法(返回连接池对象)
public static Jedis getJedis()
{
      return jedisPool.getResource();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/215284
推荐阅读
相关标签
  

闽ICP备14008679号