千家信息网

怎么解决redis超时io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s)报错

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家介绍怎么解决redis超时io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s
千家信息网最后更新 2025年02月01日怎么解决redis超时io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s)报错

这篇文章给大家介绍怎么解决redis超时io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

报错信息

org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s)        at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70)        at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41)        at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44)        at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42)        at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:268)        at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.convertLettuceAccessException(LettuceStringCommands.java:799)        at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:68)        at org.springframework.data.redis.connection.DefaultedRedisConnection.get(DefaultedRedisConnection.java:253)        at org.springframework.data.redis.core.DefaultValueOperations$1.inRedis(DefaultValueOperations.java:57)        at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:59)        at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:224)        at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:184)        at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:95)        at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53)        at com.dinsmooth.storehbase.argument.SharedUserArgumentResolver.resolveArgument(SharedUserArgumentResolver.java:47)        at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:127)        at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167)        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)        at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)        at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)        at java.lang.Thread.run(Thread.java:748)Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s)        at io.lettuce.core.ExceptionFactory.createTimeoutException(ExceptionFactory.java:51)        at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:114)        at io.lettuce.core.FutureSyncInvocationHandler.handleInvocation(FutureSyncInvocationHandler.java:69)        at io.lettuce.core.internal.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:80)        at com.sun.proxy.$Proxy272.get(Unknown Source)        at org.springframework.data.redis.connection.lettuce.LettuceStringCommands.get(LettuceStringCommands.java:66)        ... 59 common frames omitted

错误原因:redis连接池lettuce存在bug

解决办法:更换连接池,使用jedis

    org.springframework.boot    spring-boot-starter-data-redis                        redis.clients            jedis                            lettuce-core            io.lettuce                redis.clients    jedis    org.apache.commons    commons-pool2
redis:  host: 192.168.100.211  port: 6379  password: Ecourse4321  timeout: 3000  jedis:    pool:      max-active: 8      max-wait: 2000      max-idle: 8      min-idle: 0      time-between-eviction-runs: 1000

关于怎么解决redis超时io.lettuce.core.RedisCommandTimeoutException: Command timed out after 3 second(s)就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0