【问题标题】:How to set redis client read timeout in springboot?springboot中如何设置redis客户端读取超时?
【发布时间】:2018-11-23 05:19:26
【问题描述】:
我有一个 Spring-boot redis 客户端,当我必须删除一个大型日期集时,我经常遇到读取超时。
redis客户端配置read-timeout默认设置为2秒。
我只能获取读取超时设置,但无法设置它。
也无法在 application.properties 中找到有关如何设置它的任何文档。
JedisConnectionFactory jfact = new JedisConnectionFactory(redisStandaloneConfiguration);
Duration duration = jfact.getClientConfiguration().getReadTimeout();
任何想法将不胜感激。
【问题讨论】:
标签:
spring-boot
redis
jedis
【解决方案1】:
您可以使用 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);