一个平台网站开发,做任务能赚钱的网站有哪些,wordpress表白墙,装修网站设计师在springboot中引入spring-boot-starter-data-redis依赖时#xff0c;默认使用的时Lettuce 产生这种问题的原因有如下两点#xff1a; 1、Lettuce 自适应拓扑刷新#xff08;Adaptive updates#xff09;与定时拓扑刷新#xff08;Periodic updates#xff09; 是默认关闭…在springboot中引入spring-boot-starter-data-redis依赖时默认使用的时Lettuce 产生这种问题的原因有如下两点 1、Lettuce 自适应拓扑刷新Adaptive updates与定时拓扑刷新Periodic updates 是默认关闭的。 2、项目用了k8s做docker容器化部署但是k8s有设置空闲连接超时就断开所以当你从连接池拿到被断开的连接时就会报错。
springboot2.3以上版本可添加配置解决。 lettuce:cluster:refresh:adaptive: trueperiod: 20
每次链接都进行自动校验
Component
Slf4j
public class LettuceConnectionValidConfig implements InitializingBean {Autowiredprivate RedisConnectionFactory redisConnectionFactory;Overridepublic void afterPropertiesSet() throws Exception {if(redisConnectionFactory instanceof LettuceConnectionFactory){LettuceConnectionFactory c(LettuceConnectionFactory)redisConnectionFactory;c.setValidateConnection(true);}}
}定时任务
Component
Slf4j
public class LettuceConnectionValidTask {Autowiredprivate RedisConnectionFactory redisConnectionFactory;Scheduled(cron0/2 * * * * ?)public void task() {if(redisConnectionFactory instanceof LettuceConnectionFactory){LettuceConnectionFactory c(LettuceConnectionFactory)redisConnectionFactory;c.validateConnection();}}
}
排除lettuce采用jedis。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdexclusionsexclusiongroupIdio.lettuce/groupIdartifactIdlettuce-core/artifactId/exclusion/exclusions/dependencydependencygroupIdredis.clients/groupIdartifactIdjedis/artifactId/dependency