Redis 达到最大客户数(max number of clients reached) 连接的客户端(connected_clients)数量过高或者不减的问题解决方案

最近在项目上使用到了Redis缓存,在使用过程中遇到了一些问题,这里来总结一下。

1、Redis设置成Windows启动服务:

执行命令

redis-server --service-install redis.windows-service.conf --loglevel verbose

1、Redis运行一段时间之后,发现Redis Client连接不上了,报错 Error:max number of clients reached,首先想到的是,是不是在代码使用过程中没有释放掉空闲的Redis连接,然后检查代码,发现确实没有关闭连接,修改后的代码如下:

下图中的dispose是后来添加的:

添加上释放代码之后又过了一段时间发现还是报同样的错误,于是用redis的控制台窗口查看当前所有的客户端连接情况:

其中idle(以秒计算的空闲时长)竟然这么长时间。。很多空闲连接都没有被及时释放掉从而导致connected_clients非常高

查看redis的配置timeout (当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能)

然后设置timeout

再次查看connected_clients

连接数瞬间少了很多,至此该问题已解决。

更多文章请扫码关注公众号,有问题的小伙伴也可以在公众号上提出。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值