我尝试在redis配置中使用连接池。我创建了一个jedispoolconfig,并将其作为参数发送给jedisconnectionfactory。
但是我的jedisconnectionfactory的pool参数总是为null,这就是为什么它不能从连接池获取资源。对于来自我的应用程序的每个请求,它都在创建一个新的连接。
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(20);
poolConfig.setMinIdle(2);
poolConfig.setMaxIdle(5);
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(poolConfig);
jedisConnectionFactory.setHostName(redisHost);
jedisConnectionFactory.setPort(Integer.valueOf(redisPort));
在jedisconnectionfactory类中,pool总是为null。
protected Jedis fetchJedisConnector() {
try {
if (getUsePool() && pool != null) {
return pool.getResource();
}
Jedis jedis = createJedis();
// force initialization (see Jedis issue #82)
jedis.connect();
potentiallySetClientName(jedis);
return jedis;
} catch (Exception ex) {
throw new RedisConnectionFailureException("Cannot get Jedis connection", ex);
}
}
有谁能建议我如何设置pool参数吗?
暂无答案!
目前还没有任何答案,快来回答吧!