概述
总结生产开发环境, 常见的redis 异常。
1. 异常:ERR max number of clients reached
最近笔者的redis sentinel 集群突然报错说, 已到达最大连接数。笔者采用的redis 环境为sentinel 高可用集群, 问题表象为:
- java 应用通过jedis 连接抛出此异常
- 使用redis客户端连接哨兵,执行info命令,抛出异常
- 使用redis客户端连接redis服务, 执行info命令,正常执行
1.1 抛出异常
登录哨兵客户端,发现异常:
# redis-cli -h 127.0.0.1 -p 26481
127.0.0.1:26481> info
ERR max number of clients reached
登录redis 客户端发现正常:
127.0.0.1:26481> info clients
# Clients
connected_clients:6
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
1.2 查看进程TCP连接数
- 通过netstat 命令可以看出哨兵连接数为4064个, 查看redis 配置文件中maxClient 的值也是4064. 所以确实达到了上限。
- 如果想看该进程具体有哪些终端在连, 则去掉 wc 命令即可。
# netstat -an | grep 26481 | wc -l
4064
1.3 解决方案
- 修改redis 配置文件, 将maxClients 的参数调整为40640
- 重启redis 服务和redis 哨兵服务即可
最后
以上就是甜蜜白昼为你收集整理的redis 常见异常的全部内容,希望文章能够帮你解决redis 常见异常所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复