昨天在测试redis一个劲的报出redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool查了一下午的百度,发现没有一个是能解决我这个异常抛出的 ;
因为我的reids是安装在linux上的。 所以我获取连接的时候
// 初始化
public Redis(){
initialPool();
jedis = jedisPool.getResource();
}
/**
* 初始化非切片池
*/
private void initialPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(100);
config.setMaxIdle(5);
config.setMaxWaitMillis(100000);
config.setTestOnBorrow(false); //<!--定时对线程池中空闲的链接进行validateObject校验-->
jedisPool = new JedisPool(config,"服务器ip",6379);
}
我发现的的配置没有问题啊! 而且我也没设置redis密码。 所以问题不是出在这里。
就想是不是linux上面的redis配置有问题、 去看了一下 果然
linux上面的redis配置文件时绑定本地的。 难怪获取不到。
所以我就先把 bind 后面的ip改成了服务器 ip 发现可以拿取到连接了。 但是linux上面的redis客户端没办法进去了。
后面想了一下 linux上的客户端访问的是本地的 所以就干脆点把 bind 注释掉了。
然后一切就ok了。