日期:2014-05-20  浏览次数:20794 次

求助,关于redis的异常
异常描述:redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
在网上找了很多资料,最后按照http://jiasky.iteye.com/blog/1469190所说设置了JedisPoolConfig中maxActive后,同时跑100个线程去操作时没有报异常错误,但是超过100个线程就会报异常错误,线程跑得越多,Could not get a resource from the pool的异常错误也越多。好郁闷吖.
主要代码如下
  private static JedisPoolConfig config = new JedisPoolConfig();
  private static JedisPool pool;

private static String host = "127.0.0.1";
private static int port = 6379;
private static boolean isAuth = false;
private static String password = "";

/**
* 初始化参数
*/
private static void init() {
host = "xx.xx.xx.xx";
port = 6379;
isAuth =false;
password = "12345";
config.setMaxActive(3000000);
  config.setMaxIdle(10);
  config.setMaxWait(10);
  config.setTestOnBorrow(true);
pool = new JedisPool(config, host, port,3000000);
}
求助吖~~~~对redis不熟~~~~~

------解决方案--------------------
我在性能压测时也遇到了该问题,按照楼主所说的方法,修改了linux的文件限制数后,压测时就没有出现过这错误了!3Q~~