@Autowired public RedisStore(final RedisTemplate<String, Object> redisTemplate, final RedisConnectionFactory redisConnectionFactory) { this.redisTemplate = redisTemplate; ((JedisConnectionFactory) redisConnectionFactory).setTimeout(10000); this.redisConnectionFactory = redisConnectionFactory; }
private JedisConnectionFactory jedisConnFactory() { try { String redistogoUrl = REDIS_PROPS.getProperty(Constants.REDIS_URL); URI redistogoUri = new URI(redistogoUrl); JedisConnectionFactory jedisConnFactory = new JedisConnectionFactory(); String hostName = redistogoUri.getHost(); int port = redistogoUri.getPort(); jedisConnFactory.setUsePool(true); jedisConnFactory.setHostName(hostName); jedisConnFactory.setPort(port); jedisConnFactory.setTimeout(Protocol.DEFAULT_TIMEOUT); jedisConnFactory.setShardInfo(new JedisShardInfo(hostName, port)); return jedisConnFactory; } catch (URISyntaxException e) { logger.warn("error when in jedisConnFactory: "+e.getMessage()); return null; } }
@Bean public RedisConnectionFactory factory() { JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setDatabase(dateBase); factory.setHostName(host); factory.setPort(port); factory.setPassword(password); JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxIdle(maxIdle); poolConfig.setMinIdle(minIdle); poolConfig.setMaxWaitMillis(maxWait); poolConfig.setMaxTotal(maxTotal); factory.setPoolConfig(poolConfig); factory.setTimeout(timeout); return factory; }
@Bean JedisConnectionFactory jedisConnectionFactory() { JedisPoolConfig config = new JedisPoolConfig(); // 最大空闲连接数, 默认8个 config.setMaxIdle(maxidle); // 最小空闲连接数, 默认0 config.setMinIdle(minidle); // 最大连接数, 默认8个 config.setMaxTotal(maxActive); // 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1 config.setMaxWaitMillis(maxWait); JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setDatabase(database); factory.setHostName(host); factory.setPort(port); factory.setTimeout(timeout); factory.setPoolConfig(config); return factory; }
@Bean JedisConnectionFactory jedisConnectionFactory() { JedisPoolConfig config = new JedisPoolConfig(); // 最大空闲连接数, 默认8个 config.setMaxIdle(maxidle); // 最小空闲连接数, 默认0 config.setMinIdle(minidle); // 最大连接数, 默认8个 config.setMaxTotal(maxActive); // 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1 config.setMaxWaitMillis(maxWait); JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setDatabase(database); factory.setHostName(host); factory.setPort(port); factory.setTimeout(timeout); factory.setPoolConfig(config); return factory; }
protected final JedisConnectionFactory applyProperties(JedisConnectionFactory factory) { configureConnection(factory); if (this.properties.isSsl()) { factory.setUseSsl(true); } factory.setDatabase(this.properties.getDatabase()); if (this.properties.getTimeout() > 0) { factory.setTimeout(this.properties.getTimeout()); } return factory; }
/** * 创建连接 * * @param host * @param port * @param timeout * @return */ public RedisConnectionFactory newRedisConnectionFactory(String host, int port,String password, int timeout) { JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setHostName(host); factory.setPort(port); factory.setTimeout(timeout); // 设置连接超时时间 factory.setPassword(password); // testOnBorrow为true时,返回的连接是经过测试可用的 factory.setPoolConfig(redisProperties); factory.afterPropertiesSet(); return factory; }