Redis出现Command timed out after 1 second(s)
1:问题描述
org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 second(s)
2:问题发生场景
一个测试方法,里面大量的查询删除等请求,而这些接口上用了@Cacheable以及@CacheEvict,这几个注解是缓存的增加删减
3:解决问题方向
3.1:可能是网络延迟问题
3.2:可能是超时时间过短导致
3.3:连接池出错
3.4:连接池活动数不足以处理现有任务
4:优化方案
4.1:修改系统最小活跃数等参数,不要使用默认或者是调整的过低,增加超时时间
#最大活动连接数
spring.redis.pool.max-active=8
# 阻塞时间 负数指没有限制
spring.redis.pool.max-wait=-1
# 连接池的最大空闲连接数量
spring.redis.pool.max-idle=64
# 最小空闲连接数量 正数才有效果
spring.redis.pool.min-idle=32
# 超时时间
spring.redis.timeout=5000
4.2:参考其他博客方法,不使用生菜,使用jedis(未进行测试)
分类:
错误问题以及处理
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升