首页/数据/Redis 进阶速查/INFO errorstats:错误分类计数
性能与排障129 条

INFO errorstats:错误分类计数

INFO errorstats 按错误前缀统计返回次数(如 ERR、WRONGTYPE、READONLY),能看出客户端到底在踩哪类坑,比单条报错日志更有全局视角。

Redis 进阶速查数据更新于 2026-10-13

按错误类型计数

INFO errorstats 按错误前缀统计各类错误的返回次数,例如 ERR、WRONGTYPE、READONLY、NOSCRIPT。它给出的是全局视角:客户端到底在踩哪一类坑、占比如何。比起翻单条错误日志,这种分类计数更容易发现系统性问题。

基本信息

输出形式errorstat_XXX:count=NNN
重置方式CONFIG RESETSTAT
版本Redis 6.2 及以上
用途错误分类、客户端回归发现
互补命令INFO commandstats

典型使用场景

  • 客户端发版后错误计数抬头,快速定位到具体错误类型
  • 巡检时对比各类错误的占比与增速
  • 排查 WRONGTYPE:读写用了错误的数据结构
  • 排查 READONLY:切换后写流量仍指向从库
  • 统计 NOSCRIPT 出现频率,判断客户端回退逻辑是否完备

采集与对照

采集与对照
redis-cli INFO errorstats                        # 查看全部错误分类计数
redis-cli INFO errorstats | grep -E 'WRONGTYPE'  # 只看类型错误
redis-cli INFO errorstats | grep -E 'READONLY|NOSCRIPT'
redis-cli INFO commandstats | head -20           # 命令调用次数,与错误对照看
redis-cli CONFIG RESETSTAT                       # 清零统计,用于前后对比
redis-cli INFO errorstats                        # 清零后重新观察一段时间

错误前缀与根因

错误前缀含义常见根因
ERR通用错误命令语法或参数有误
WRONGTYPE键类型不匹配读写用了错误的数据结构
READONLY向从库发起写操作切换后客户端仍指向旧节点
NOSCRIPTEVALSHA 脚本未命中实例重启或脚本被清空
NOAUTH未通过认证密码配置或连接初始化顺序问题
EXECABORT事务被中断事务内命令出错后仍提交
MOVED 与 ASK集群重定向客户端未做集群路由
CONFIG RESETSTAT 会清空几乎所有统计计数器,包括命令统计与错误统计。清零前先把当前值导出,否则就失去了对比基准。
把错误计数当噪声忽略,会错过客户端回归的早期信号:错误率抬头通常比业务侧投诉更早出现。
errorstats 给的是累计计数,没有请求上下文。要定位到具体调用,需要结合 SLOWLOG、客户端日志与 commandstats 一起看。
错误计数是累计值,判断时要结合采集周期换算成速率,否则运行很久的实例会因为历史累积而显得错误很多。

易错点

  • 未导出样本就 RESETSTAT:一按全清,前后无法对比
  • 把错误计数当噪声忽略:错过客户端回归的早期信号
  • 只看总数不看分类:不同类型错误的处置方式完全不同
  • 用 errorstats 判断单条请求:它只有累计计数,没有上下文信息

数据来源与参考

  • Redis 官方文档:errorstats 指标
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌