Redis运维那些命令你得知道,别光看文档,这里全给你整理了
- 问答
- 2025-12-29 14:45:21
- 3
(根据网络技术社区如CSDN、博客园、开源中国等平台上多位运维工程师的经验分享整理)
Redis这玩意儿,现在做项目基本离不开它,性能是真好,但运维起来要是不会几个关键命令,那真是两眼一抹黑,出了问题只能干着急,光看官方文档那一大堆说明,容易看晕,这里给你划重点,把那些真正用得上的运维命令给你捋一捋,都是老运维们踩过坑总结出来的。
先说说怎么看看Redis是不是还“活着”——状态监控命令
-
ping命令 这个最简单了,就像问“在吗?”,你在命令行里打一个
ping,如果Redis服务正常,它会回你一个PONG,要是没反应或者报错,那八成是服务挂掉了或者网络不通了,这是最快速检查服务可用性的方法。 -
info命令 这个是超级大全,Redis的所有运行信息都在里面,你直接打
info,会刷出一大屏信息,可能看着头疼,一般我们会有针对性地看:- 想看内存情况:
info memory,重点看used_memory(用了多少内存)、used_memory_human(以人类好读的格式显示用了多少内存,比如多少M、多少G)、maxmemory(你设置的最大内存限制),要是used_memory快接近maxmemory了,就得警惕了,可能会开始删数据或者写不进去了。 - 想看客户端连接数:
info clients,重点看connected_clients(当前连接的客户端数量),如果这个数异常的高,可能是有程序没正确关闭连接,导致连接数耗尽,新的客户端就连不进来了。 - 想看持久化情况:
info persistence,如果你用了RDB或AOF做数据持久化,这里能看到最近一次持久化成功没有、花了多久时间等信息,如果rdb_last_bgsave_status不是ok,说明上次备份失败了,得查原因。 - 想看主从复制状态:
info replication,如果你是主从架构,这里能看到它现在是主节点还是从节点,连了哪些从节点,复制偏移量是多少,复制状态是否正常,如果从节点的lag值很大,说明数据同步延迟很严重。
- 想看内存情况:
钥匙太多了,怎么管理?——Key(键)相关命令

Redis里存的数据都叫key,数据多了就得管理。
-
keys pattern命令 这个命令用来查找符合特定模式的key,比如你想找所有以
user:session:开头的key,就用keys user:session:*。但是要特别注意! 这个命令在生产环境要慎用,因为如果你的Redis里key特别多,这个命令会一次性遍历所有key,可能导致Redis服务卡住一会儿,俗称“炸库”,除非你确定key很少,或者是在维护时段,否则别用。 -
scan命令 这是
keys的安全替代品,它不会一次性列出所有key,而是分批遍历,不会阻塞Redis太久,用法像这样:scan 0 match user:session:* count 100,这里的0表示从头开始游标,执行一次后它会返回一个新的游标值和一部分key,你再用新的游标值继续scan,直到它返回游标0才算遍历完,虽然麻烦点,但对服务影响小。 -
ttl key命令 查看某个key还有多少秒过期,返回
-2表示这个key已经不存在了;返回-1表示这个key没有设置过期时间,会一直存在(除非被手动删除),经常用来检查设置的过期时间对不对。 -
type key命令 看看某个key是什么数据类型的,是字符串(string)、列表(list)、哈希(hash)、集合(set)还是有序集合(zset),有时候排查问题需要先确定类型。

内存告急怎么办?——内存分析命令
-
memory usage key命令 估算一个key和它的值大概占了多大内存,对于排查哪些大key占用了过多内存非常有用。
-
memory stats命令 显示详细的内存使用统计信息,比
info memory更细致,适合深度排查内存问题。
服务器内部在干嘛?——诊断命令
-
slowlog get [n]命令 这是神器!Redis会把执行时间超过一定阈值(慢查询阈值,可以用
config set slowlog-log-slower-than设置,单位微秒)的命令记录下来,你用slowlog get 10就能查看最慢的10条命令,很多时候性能瓶颈就是由几个慢查询引起的,通过这个命令就能抓出来。
-
monitor命令 这是一个实时打印所有Redis正在执行的命令的工具。警告:这也是一个超级危险的命令! 它会在屏幕上疯狂刷屏,对性能影响很大,只适合在测试环境或者生产环境万不得已时短时间使用,用完赶紧按Ctrl+C停掉,主要用于实时观察到底有哪些客户端在执行什么操作。
日常维护操作
-
config get/set parameter命令 动态查看或修改Redis的配置参数,不用重启服务,比如临时把慢查询日志的阈值调大一点:
config set slowlog-log-slower-than 20000,但要注意,用config set修改的配置在重启后会失效,永久生效需要修改配置文件。 -
bgsave命令 手动触发一次RDB持久化,也就是在后台把当前数据快照保存到磁盘上,Redis会fork一个子进程来做这个事,主进程还能继续服务,定期执行备份是保证数据安全的重要一环。
-
client list / client kill命令
client list可以列出所有连接到Redis的客户端详细信息,包括IP、端口、空闲时间等,如果发现异常连接,可以用client kill ip:port把它踢掉。
把这些命令玩熟了,日常大部分的Redis运维问题你基本都能自己动手排查和解决了,真遇到复杂问题还得结合日志和更深入的原理分析,但这些命令是你上手的第一步,也是最重要的一步。
本文由芮以莲于2025-12-29发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://www.haoid.cn/wenda/70707.html
