redis 如何配置基于Sping Boot 框架的JedisConnectionFactory超时?

xwbd5t1u  于 2022-10-31  发布在  Redis
关注(0)|答案(1)|浏览(152)

我使用的是Sping Boot ,我不知道如何配置连接Redis的超时时间。
目前,我的配置是:

  • 应用程序.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
  • 字符串RedisDao.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;
}

我使用Wireshark捕获数据包,发现Redis在2秒后断开连接,而不是我在上面的代码中设置的5秒。
正因为如此,我无法执行Redis查询时间超过2秒的请求。
求你了,我怎么能这么做?

6l7fqoea

6l7fqoea1#

还有一个配置设置可以放在 application.properties 中:

spring.redis.timeout=5000

相关问题