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(未进行测试)

  

posted @   鸭猪是的念来过倒  阅读(2283)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
点击右上角即可分享
微信分享提示