我是靠谱客的博主 甜蜜白昼,最近开发中收集的这篇文章主要介绍redis 常见异常,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

总结生产开发环境, 常见的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 常见异常所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部