I'm using Spring Boot and I'm confused how to configure the timeout to connect Redis.
Currently, my configurations are:
application.yml:
spring.redis.host: myhost
spring.redis.port: 6379
spring.redis.pool.max-idle: 8
spring.redis.pool.min-idle: 0
spring.redis.pool.max-active: 8
spring.redis.pool.max-wait: -1
StringRedisDao.java:
@Autowired
public StringRedisDao(final StringRedisTemplate template, final ObjectMapper mapper) {
if (template.getConnectionFactory() instanceof JedisConnectionFactory) {
((JedisConnectionFactory) template.getConnectionFactory()).getShardInfo().setTimeout(5000);
((JedisConnectionFactory) template.getConnectionFactory()).setTimeout(5000);
}
this.template = template;
this.mapper = mapper;
}
I use Wireshark to capture the packets and I found that the Redis was disconnected after 2 seconds, not 5 seconds as I set in the code above.
Because of this, I cannot perform a requests that the query time of Redis is more than 2 seconds.
Please, how can I do this?