If you get java.net.SocketTimeoutException: Read timed out exception
Try setting own timeout value when constructing JedisPool using the following constructor:
JedisPool(GenericObjectPoolConfig poolConfig, String host, int port, int timeout)
where timeout is given as milliseconds.
Default timeout value is 2 seconds.
JedisPool blocks after getting 8 connections
JedisPool defaults to 8 connections, you can change this in the PoolConfig:
JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxTotal(maxTotal); // maximum active connections poolConfig.setMaxIdle(maxIdle); // maximum idle connections
Take into account that JedisPool inherits commons-pool BaseObjectPoolConfig which has a lot of configuration parameters. We've set some defined ones which suit most of the cases. In case, you experience issues tuning these parameters may help.