Spring Boot中如何设置Redis客户端读取超时?

Ram*_*amp 2 redis jedis spring-boot

我有一个 Spring Boot Redis 客户端,当我必须删除一个大的日期集时,经常遇到读取超时。

Redis 客户端配置读取超时默认设置为 2 秒。

我只能获取读取超时设置,但无法设置它。无法找到任何有关如何在其中设置它的文档application.properties

JedisConnectionFactory jfact = new JedisConnectionFactory(redisStandaloneConfiguration);
Duration duration = jfact.getClientConfiguration().getReadTimeout();
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激。

Ram*_*amp 6

您可以使用JedisClientConfiguration构建器来配置和使用JedisConnectionFactory接受的构造函数,JedisClientConfiguration如下所示:

Duration readTimeout = Duration.ofMillis(30 * 1000);
Duration connectTimeout = Duration.ofMillis(3 * 1000);
JedisClientConfiguration clientConfiguration = JedisClientConfiguration.builder()
        .readTimeout(readTimeout)
        .connectTimeout(connectTimeout)
        .usePooling()
        .build();

JedisConnectionFactory jfact = new JedisConnectionFactory(
        redisStandaloneConfiguration,
        clientConfiguration
);
Run Code Online (Sandbox Code Playgroud)