JedisPool连接池的配置及使用

本文介绍了JedisPool的使用方法,包括连接池的构造参数配置,如何从配置文件中抽取参数,并提供了创建和使用JedisPool的实战示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jedis自带了一个连接池:JedisPool

使用方法:

1、创建JedisPool连接池对象
2、调用连接池对象的方法 getResource() 以获取Jedis连接
3、使用Jedis连接 完成方法
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   

使用:

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

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

...


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

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

host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10

还可自己根据需要添加

使用:

创建连接池对象
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();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值