当前位置:首页 > 问答 > 正文

怎么快速知道Redis服务到底启动没,简单判断redis运行状态的方法分享

想知道Redis服务有没有在后台乖乖运行,其实方法有很多,而且都不难,咱们不用搞得太复杂,也不用记一大堆命令,就挑那些最直接、最常用的方法来试试,基本就能判断个八九不离十了。

最直接的一招:用redis-cli敲个门

这个方法应该是最常用、最直观的了。redis-cli是Redis自带的命令行客户端,就像是专门用来跟Redis服务对话的一个小窗口,你打开你的终端(无论是Linux的Shell,还是Windows的命令提示符CMD或者PowerShell),直接输入下面这个命令:

redis-cli ping

然后按回车,如果Redis服务正在正常运行,并且你能够成功连接到它,它就会非常简短地回复你一个:

PONG

这就好比你去朋友家敲门,里面有人回应了一声“在呢!”,看到“PONG”这个回应,你就可以百分之百地确定,Redis服务不仅启动了,而且还能正常接收指令。(来源:Redis官方文档中对ping命令的说明)

如果没看到“PONG”,而是出现了类似“Could not connect to Redis at 127.0.0.1:6379: Connection refused”这样的错误信息,那基本就意味着Redis服务没有启动,或者虽然启动了但你连接的方式不对(比如地址、端口错了)。

进阶一点:除了问好,再问问基本情况

如果ping命令成功了,你还可以趁热打铁,多问Redis几个简单的问题,了解一下它的基本状态,还是在redis-cli里,输入:

redis-cli info

这个命令会输出一大堆信息,可能一开始会让人觉得眼花缭乱,你不用全都看,就找开头的几行,比如能看到# Server部分,里面有Redis的版本号、运行模式等等,能正常看到这些信息,更进一步说明服务状态良好,如果你想更聚焦,可以只看一个核心指标,

redis-cli info server

这个只显示服务器相关的信息,能输出内容,就证明连接和通信都是畅通的。

看后台:检查进程在不在

另一个很底层但很可靠的方法是,直接去看看操作系统的进程列表里,有没有Redis的身影,因为Redis服务一旦启动,就会以一个单独的进程(或者在某些配置下是多个进程)的形式在后台运行。

  • 在Linux或者macOS系统上,你可以打开终端,输入命令:
    ps aux | grep redis

    这个命令的意思是,列出所有进程,然后从中筛选出名字里包含“redis”的,如果你能看到有类似redis-server *:6379这样的进程存在,那就说明Redis服务正在运行。

    怎么快速知道Redis服务到底启动没,简单判断redis运行状态的方法分享

  • 在Windows系统上,可以打开任务管理器,在“详细信息”标签页里,看看有没有叫做redis-server.exe的进程,如果有,并且它的状态是“正在运行”,那也说明服务是启动的。

(来源:操作系统进程管理的基本知识)

根据安装方式,用系统服务命令查岗

如果你是通过系统的软件包管理器(比如Linux上的apt、yum,或者macOS上的brew)安装的Redis,或者把它配置成了系统服务,那么检查起来就更方便了。

  • 在大多数现代的Linux发行版(比如Ubuntu、CentOS)上,可以使用systemctl命令:
    systemctl status redis

    或者(取决于具体的服务名):

    systemctl status redis-server

    执行后,系统会显示这个服务的详细状态,如果看到一行绿色的字写着“active (running)”,那就万事大吉,如果显示的是“inactive (dead)”或者“failed”,那就说明服务没启动或者启动失败了。

  • 如果你用的是老一点的Linux系统,可能用的是service命令:
    service redis-server status
  • 在macOS上,如果你用Homebrew安装的,可以这样查:
    brew services list

    这个命令会列出所有通过Homebrew管理的服务及其状态,你找找redis那一行看看是不是“started”。

(来源:各操作系统服务管理工具的官方或常见使用文档)

怎么快速知道Redis服务到底启动没,简单判断redis运行状态的方法分享

实在不行,动手试一试

还有一个非常“实践出真知”的方法,就是你自己试着往Redis里存个东西,再取出来,打开redis-cli,依次输入以下命令:

set test_key "Hello, Redis!"

如果返回OK,说明写入成功。

接着输入:

get test_key

如果返回你刚才存的"Hello, Redis!",那就不仅证明服务是活的,还证明它的读写功能都是正常的,为了不留垃圾数据,可以再输入:

del test_key

把它删掉,这套“组合拳”打下来,Redis的健康状况就一清二楚了。

总结一下

快速判断Redis运行状态,你可以这样来:

  1. 首选redis-cli ping,看有没有回应“PONG”,这是最快最直接的。
  2. 如果上面不行,去看看系统进程或者服务状态,确认一下Redis的进程到底有没有在跑。
  3. 如果能ping通,想再确认一下,可以试试简单的读写操作,或者用info命令看看更详细的信息。

基本上,把这几种简单的方法结合起来用,你就能快速、准确地知道你的Redis服务到底有没有在正常运行了。