Java redis.clients.jedis.exceptions.JedisConnectionException:无法从池中获取资源
我试图用spring Boot实现redis,在本地主机上随机遇到以下异常: redis.clients.jedis.exceptions.JedisConnectionException:无法获取 池中的资源 我已经尝试了不同的属性组合。但他们都没有帮助我,也不知道我错在哪里Java redis.clients.jedis.exceptions.JedisConnectionException:无法从池中获取资源,java,spring,spring-boot,redis,jedis,Java,Spring,Spring Boot,Redis,Jedis,我试图用spring Boot实现redis,在本地主机上随机遇到以下异常: redis.clients.jedis.exceptions.JedisConnectionException:无法获取 池中的资源 我已经尝试了不同的属性组合。但他们都没有帮助我,也不知道我错在哪里 @Configuration public class RedisConfigurationSetup { @Bean public RedisConnectionFactory jedisCon
@Configuration
public class RedisConfigurationSetup {
@Bean
public RedisConnectionFactory jedisConnectionFactory() {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(10000);
poolConfig.setMinIdle(1000);
poolConfig.setMaxIdle(-1);
poolConfig.setMaxWaitMillis(500);
poolConfig.setTestOnBorrow(true);
poolConfig.setTestOnReturn(true);
JedisConnectionFactory ob = new JedisConnectionFactory(poolConfig);
ob.setHostName("127.0.0.1");
ob.setPort(6379);
ob.setUsePool(true);
return ob;
}
@SuppressWarnings({ "rawtypes" })
@Bean(name = "redisTemplate")
public RedisTemplate stringRedisTemplate() {
RedisTemplate rt = new RedisTemplate();
rt.setConnectionFactory(jedisConnectionFactory());
rt.setEnableTransactionSupport(true);
return rt;
}
}
public class GeoLocationCacheServiceImpl implements GeoLocationCacheService {
@Autowired
@Qualifier("redisTemplate")
RedisTemplate geoObjectRedisTemplate;
@Override
public void saveUpdateGeoLoc(GeoObject geoObject) {
if (geoObject != null) {
// Some Business logics
geoObjectRedisTemplate.opsForValue().set(geoObject.getObjectID(), geoObject);
// Some Business logics
}
}
}
因为rt.setEnableTransactionSupport(true); 从源代码中,我们可以看到
if (!enableTransactionSupport) {
RedisConnectionUtils.releaseConnection(conn, factory);
}
请同时发布您的stacktrace,通常它包含帮助您面对相同问题的基本信息,我也使用spring boot+redis和随机面对问题