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

浙公网安备 33010602011771号