Redis服务器运行状态怎么查,器运行情况深入了解和分析方法分享
- 问答
- 2025-12-29 12:25:27
- 2
要了解Redis服务器是不是在健康工作,不能只看它能不能连上,得从好几个方面去检查,这就像给人做体检,不仅要量体温,还要测心跳、血压,看看各个器官的指标,下面我们就来一步步说说怎么给Redis做一次全面的“体检”。
第一,先用最简单的命令看看死活。
连上Redis之后,最先用的命令就是 PING,这个命令特别简单,Redis服务器如果活着,它会直接回复一个 PONG,如果连不上或者没反应,那说明最基本的网络连通或者服务进程出了问题,这是检查Redis服务是否可用的第一步,也是最关键的一步,来源自Redis官方文档中对PING命令的基础介绍。
第二,看看Redis肚子里装了多少数据,用了多少内存。
想知道Redis当前的状态,INFO 命令是最好用的工具,它能给你一大堆信息,你可以直接运行 INFO 看全部,但信息太多容易看花眼,所以一般会只看某个部分,想看整体情况就看 INFO stats,这里面有像 keyspace_hits 和 keyspace_misses 这样的数字,它们能告诉你Redis找数据的能力怎么样,用命中次数除以总查找次数,就能算出缓存命中率,这个率越高,说明Redis活儿干得越漂亮。
内存是Redis最宝贵的资源,所以一定要重点检查,运行 INFO memory,会看到很多关于内存的数字,你要特别留意 used_memory 这个值,它表示Redis实际用了多少内存,你得心里有数,这个值不能超过你给服务器配置的最大内存,不然Redis就要开始删数据了(如果设置了淘汰策略的话),还可以看看 used_memory_peak,这是Redis运行以来用过的内存峰值,帮你判断平时内存够不够用,这些指标在像“Redis实战”这类技术书籍和官方文档中都有强调。

还有一个很实用的命令是 DBSIZE,它直接告诉你当前数据库里有多少个键(key),你可以定期记录这个数字,如果它增长得特别快,可能是有程序在不停地写数据,需要查一查原因。
第三,看看Redis忙不忙,处理命令的速度快不快。
Redis本来是以速度快出名的,但如果它变慢了,我们得知道瓶颈在哪,还是用 INFO 命令,这次看 INFO stats 部分里的 total_commands_processed,它表示自启动以来一共处理了多少个命令,你可以隔一段时间(比如一分钟)查一次这个数,算一下差值,就能知道这段时间的平均每秒处理命令数(QPS),这能直观反映Redis的繁忙程度。
另一个重要的指标是 INFO stats 里的 instantaneous_ops_per_sec,这个更直接,它显示的是服务器当前一秒内处理的命令数,是一个瞬时值,能让你看到实时的流量波动。

如果想深入了解延迟问题,可以用Redis自带的延迟诊断工具,运行 redis-cli --latency -h 命令,它会持续测试连接到Redis的往返延迟,帮你判断网络或者Redis本身是否存在慢的问题,这个功能在Redis官方文档的延迟监控章节有详细说明。
第四,看看有没有慢查询在拖后腿。
有时候Redis整体不慢,但个别特别耗时的命令会卡住整个服务器,影响其他请求,Redis提供了慢查询日志功能,你可以用 CONFIG GET slowlog-log-slower-than 命令查看当前慢查询的阈值(单位是微秒),只有执行时间超过这个值的命令才会被记录下来,然后使用 SLOWLOG GET [数量] 命令来查看最近的慢查询记录,每条记录会告诉你是什么命令、执行了多久、什么时候执行的,如果你发现里面有很多不该慢的命令,比如对一个很大的集合执行 KEYS *,或者复杂的 LUA 脚本,那就需要优化你的业务代码了,慢查询日志的分析是Redis性能调优的常规手段,在众多技术博客(如CSDN、掘金上的相关文章)中都被重点提及。
第五,看看主从复制是否正常。

如果你的Redis配置了主从复制(一个主库,几个从库同步数据),那么检查主从状态就非常重要,在主库上运行 INFO replication,你会看到 role:master 以及下面连接了哪些从库(slave),以及每个从库复制的偏移量(offset),在从库上同样运行这个命令,会看到 role:slave,以及它连接的主库信息、复制偏移量,你要确保主从之间的连接是正常的(master_link_status:up),并且主库和从库的复制偏移量是不断增长且差距很小的,如果偏移量差距越来越大,说明从库跟不上主库的写入速度,数据同步延迟了,这可能会影响数据的完整性,主从复制的监控是保障Redis高可用性的核心环节。
第六,看看持久化有没有出问题。
Redis为了数据安全,会把内存中的数据存到硬盘上,这个过程叫持久化,主要有两种方式:RDB(快照)和AOF(记录每一条写命令),你需要检查持久化是否成功。
运行 INFO persistence,你会看到很多信息,对于RDB,关注 last_save_time 最后一次成功创建RDB快照的时间,以及 rdb_last_bgsave_status 是否是 ok,如果状态不是ok,说明上一次后台保存失败了,对于AOF,关注 aof_enabled 是否开启,以及 aof_last_bgrewrite_status 最近一次重写是否成功,AOF重写是为了压缩AOF文件大小,如果失败会导致文件无限增长,持久化的状态直接关系到数据安全,是运维检查的重中之重。
把监控变成常态化。
上面说的这些命令,手动执行一次是检查,但如果想真正了解Redis的运行情况,最好能把它做成监控,市面上常见的监控系统,比如Prometheus配上Redis导出器(Redis Exporter),或者Zabbix等,都能自动采集这些 INFO 命令返回的指标,然后画出图表来,这样你就能一眼看出内存使用的趋势、QPS的变化、延迟的波动,一旦有异常情况(比如内存使用突然飙升),监控系统还能及时发警报通知你。
查看Redis的运行状态是一个综合性的工作,要从连接、内存、性能、慢查询、主从复制和持久化等多个角度入手,熟练使用 INFO 这个核心命令,再结合 SLOWLOG、CONFIG 等辅助命令,你就能对Redis的“健康状况”有一个全面而深入的了解。
本文由畅苗于2025-12-29发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/70648.html
