赞
踩
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(); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。