深入解析:05-Redis 命令行客户端(redis-cli)实操指南:从连接到返回值解析

引言

在 Redis 学习与使用中,redis-cli(Redis Command Line Interface)是最基础也最核心的工具 —— 它不仅是新手入门的 “第一扇门”,也是运维人员排查问题的 “常用武器”。很多新手会因不懂连接方式、误解返回值类型,导致 “明明执行了命令却没效果”“看到报错不知道如何排查”。本文将从 redis-cli 的连接方法讲起,逐步拆解核心操作与返回值类型,搭配实操案例,帮你彻底掌握这款工具的使用技巧。

一、redis-cli——Redis 学习的 “第一工具”

提到 Redis 客户端,有人会想到图形化工具(如 Redis Desktop Manager),但 redis-cli 始终是无法替代的:它是 Redis 官方自带的客户端,无需额外安装,支持所有 Redis 命令;启动速度快,能直接在终端 / 命令行中操作,适合快速测试与脚本集成;更重要的是,理解 redis-cli 的使用逻辑,能帮你更深入地理解 Redis 命令的执行流程。
在这里插入图片描述
无论是验证 Redis 服务是否正常、测试数据结构命令,还是排查生产环境的服务状态,redis-cli 都是首选工具。掌握它,相当于掌握了 Redis 操作的 “基本功”。

二、redis-cli 连接 Redis 服务:两种方式任选

redis-cli 支持两种连接方式,分别对应 “单条命令执行” 和 “批量命令交互” 场景,新手可根据需求灵活选择。

2.1 方式一:直接连接(默认配置,适合本地默认服务)

如果你的 Redis 服务运行在本地(127.0.0.1),且使用默认端口(6379)、无密码,可直接在终端 / 命令提示符中输入 redis-cli,无需任何参数:

# Windows/macOS/Linux 通用命令
redis-cli

执行后若显示类似 127.0.0.1:6379> 的提示符,说明连接成功 —— 其中 127.0.0.1 是 Redis 服务的 IP 地址,6379 是端口号,冒号后为命令输入区。
在这里插入图片描述

这种方式的本质是 redis-cli 自动加载默认配置(IP:127.0.0.1,端口:6379),适合本地开发测试场景,无需手动输入额外信息。

2.2 方式二:自定义连接(指定 IP / 端口 / 密码,适合远程或自定义服务)

当 Redis 服务不在本地、端口修改过(如 6380),或设置了登录密码时,需要通过参数指定连接信息。redis-cli 常用连接参数如下:

  • -h:指定 Redis 服务的 IP 地址(Host);

  • -p:指定 Redis 服务的端口号(Port);

  • -a:指定登录密码(Auth,仅适合测试,生产环境不推荐明文传密码)。

(1)指定 IP 和端口连接

例如,连接运行在 192.168.1.100 服务器、6380 端口的 Redis 服务:

# 格式:redis-cli -h [IP地址] -p [端口号]
redis-cli -h 192.168.1.100 -p 6380

执行后提示符变为 192.168.1.100:6380>,表示已连接到目标服务。

(2)带密码连接

若 Redis 服务设置了密码(如 Redis@123),有两种安全的连接方式:

  • 方式一:先连接,再输入密码(推荐,避免密码明文暴露):

    # 1. 连接服务
    redis-cli -h 127.0.0.1 -p 6379
    # 2. 输入密码验证(返回 OK 表示验证通过)
    127.0.0.1:6379> AUTH Redis@123
    OK
  • 方式二:连接时通过 -a 参数传密码(仅用于测试,明文密码会被日志记录):

    redis-cli -h 127.0.0.1 -p 6379 -a Redis@123

(3)连接测试:用 PING 命令验证

无论哪种连接方式,都建议用 PING 命令验证连接是否正常 —— 执行 PING 后,若返回 PONG,说明连接成功;若返回 (error) Could not connect to Redis,需排查 IP、端口是否正确,或服务是否启动。

127.0.0.1:6379> PING
PONG # 连接正常

执行效果如下图:
在这里插入图片描述

三、redis-cli 核心操作:常用命令实战

连接成功后,即可通过 redis-cli 执行 Redis 命令。下面从 “数据操作” 和 “服务管理” 两类场景,介绍新手必学的核心命令,所有命令在 Windows/macOS/Linux 中通用。

3.1 数据操作命令(基础示例)

Redis 支持多种数据结构,这里以最常用的 String(字符串)Hash(哈希)键管理 为例,演示命令使用:

(1)String 类型:存储单个值、计数器

  • SET key value:设置键值对(如存储用户昵称);

  • GET key:获取键对应的值;

  • INCR key:将数值类型的键自增 1(适合计数器)。

# 设置键 name 的值为 "redis-cli"
127.0.0.1:6379> SET name "redis-cli"
OK # 状态回复,执行成功
# 获取键 name 的值
127.0.0.1:6379> GET name
"redis-cli" # 字符串回复,返回值
# 设置计数器 count 初始值为 0,再自增
127.0.0.1:6379> SET count 0
OK
127.0.0.1:6379> INCR count
(integer) 1 # 整数回复,返回自增后的值

(2)Hash 类型:存储对象数据(如用户信息)

  • HSET key field value:给哈希键设置字段和值;

  • HGET key field:获取哈希键中某个字段的值;

  • HGETALL key:获取哈希键中所有字段和值。

# 给哈希键 user:1 设置 name(张三)、age(25)字段
127.0.0.1:6379> HSET user:1 name "张三" age 25
(integer) 2 # 整数回复,返回设置的字段数量
# 获取 user:1 的 name 字段值
127.0.0.1:6379> HGET user:1 name
"张三" # 字符串回复
# 获取 user:1 的所有字段和值
127.0.0.1:6379> HGETALL user:1
1) "name" # 多行字符串回复,奇数行为字段,偶数行为值
2) "张三"
3) "age"
4) "25"

(3)键管理命令:查看、判断、删除键

  • KEYS pattern:查看符合规则的所有键(* 表示所有键);

  • EXISTS key:判断键是否存在(返回 1 存在,0 不存在);

  • DEL key:删除指定键(返回 1 删除成功,0 键不存在)。

# 查看所有键
127.0.0.1:6379> KEYS *
1) "name"
2) "count"
3) "user:1"
# 判断键 name 是否存在
127.0.0.1:6379> EXISTS name
(integer) 1 # 存在
# 删除键 count
127.0.0.1:6379> DEL count
(integer) 1 # 删除成功
# 再次查看键,count 已消失
127.0.0.1:6379> KEYS *
1) "name"
2) "user:1"

3.2 服务管理命令:查看状态、获取配置

除了数据操作,redis-cli 还能执行服务管理命令,帮助排查问题:

  • INFO:查看 Redis 服务的详细状态(如内存使用、连接数、持久化情况);

  • CONFIG GET parameter:获取指定配置项的值(如查看端口、密码配置);

  • QUIT:退出 redis-cli 客户端(或直接按 Ctrl+C)。

# 查看 Redis 版本和内存使用(截取部分输出)
127.0.0.1:6379> INFO
# Server
redis_version:7.0.12
redis_git_sha1:00000000
...
# Memory
used_memory:864568 bytes
used_memory_human:844.28K
...
# 获取端口配置(返回配置项和值)
127.0.0.1:6379> CONFIG GET port
1) "port"
2) "6379"
# 退出客户端
127.0.0.1:6379> QUIT

四、Redis 命令返回值:5 种类型及解读方法

执行 Redis 命令后,redis-cli 会返回不同格式的结果,新手常因看不懂返回值类型而误判命令是否执行成功。其实 Redis 的返回值分为 5 类,每种类型都有明确的格式特征,掌握后能快速解读结果。

4.1 状态回复:命令执行成功的 “信号”

格式:直接返回状态信息(无特殊前缀),最常见的是 OKPONG
适用场景:执行 SETHSETAUTHPING 等命令,仅需确认 “是否成功”,无需返回数据。
示例

127.0.0.1:6379> SET age 20
OK # 状态回复,设置成功
127.0.0.1:6379> PING
PONG # 状态回复,连接正常

4.2 错误回复:命令执行失败的 “提示”

格式:以 (error) 开头,后面紧跟错误原因。
适用场景:命令拼写错误、参数格式不对、权限不足等情况。
示例

# 执行不存在的命令 ERRORCMD
127.0.0.1:6379> ERRORCMD
(error) ERR unknown command 'ERRORCMD' # 错误回复,命令不存在
# 未验证密码直接执行命令
127.0.0.1:6379> GET name
(error) NOAUTH Authentication required. # 错误回复,需先执行 AUTH

解读技巧:根据错误信息调整操作,如检查命令拼写、先执行 AUTH 验证密码。

4.3 整数回复:返回整数结果(计数、统计)

格式:以 (integer) 开头,后面紧跟整数。
适用场景INCR(自增)、EXISTS(判断键存在)、DBSIZE(键数量)等需要返回数字的命令。
示例

# 自增计数器,返回自增后的值
127.0.0.1:6379> INCR view_count
(integer) 101
# 判断键 age 是否存在(1 存在,0 不存在)
127.0.0.1:6379> EXISTS age
(integer) 1
# 查看当前数据库的键数量
127.0.0.1:6379> DBSIZE
(integer) 3

4.4 字符串回复:返回单个字符串或空值

格式

  • 正常结果:以双引号 "" 包裹的字符串;

  • 空值:返回 (nil)(表示键不存在或无数据)。

适用场景GET(获取 String 值)、HGET(获取 Hash 字段值)等返回单个数据的命令。
示例

# 获取存在的键 name 的值
127.0.0.1:6379> GET name
"redis-cli" # 字符串回复,正常结果
# 获取不存在的键 noexist 的值
127.0.0.1:6379> GET noexist
(nil) # 字符串回复,空值

4.5 多行字符串回复:返回多个数据(列表、集合)

格式:每行数据前带序号(如 1) "key1"2) "key2"),序号从 1 开始递增。
适用场景KEYS(查看所有键)、HGETALL(查看 Hash 所有字段)、LRANGE(查看 List 元素)等返回多个数据的命令。
示例

# 查看所有键,返回 3 个结果
127.0.0.1:6379> KEYS *
1) "name"
2) "user:1"
3) "view_count"
# 查看 Hash 键 user:1 的所有字段和值,返回 4 个结果
127.0.0.1:6379> HGETALL user:1
1) "name"
2) "张三"
3) "age"
4) "25"

五、redis-cli 使用技巧:提升效率的 3 个方法

掌握基础操作后,用以下技巧能大幅提升 redis-cli 的使用效率,新手也能快速上手。

5.1 交互模式 vs 命令模式:按需选择

redis-cli 支持两种使用模式,可根据操作频率切换:

  • 交互模式:直接输入 redis-cli 进入,可连续输入多条命令(如前面的案例),适合频繁操作;

  • 命令模式:将命令作为 redis-cli 的参数,执行后直接返回结果,无需进入交互界面,适合单条命令或脚本集成。

示例(命令模式执行 GET name):

# Windows/macOS/Linux 通用,执行后直接返回结果
redis-cli GET name
"redis-cli"

5.2 命令补全:按 Tab 键少输错

redis-cli 支持命令补全功能 —— 输入命令前缀后按 Tab 键,会自动补全命令或显示可选命令,避免拼写错误。
示例:

  • 输入 HETab 键,会补全为 HSETHGETHGETALL 等 Hash 相关命令;

  • 输入 GETTab 键,会补全为 GETGETEXGETRANGE 等命令。

5.3 清屏与退出:快速整理界面

  • 清屏:在交互模式中输入 CLEAR 并回车,可清空终端 / 命令提示符界面(Windows 也可用 cls 命令);

  • 退出:输入 QUIT 或直接按 Ctrl+C,即可退出 redis-cli 客户端,不影响 Redis 服务运行。

六、总结:redis-cli 学习的 “两步走”

redis-cli 的学习无需一蹴而就,可按 “两步走” 掌握:

  1. 第一步:熟练基础操作:先掌握 “连接服务→执行数据命令→解读返回值” 的流程,重点记住 String、Hash 的常用命令,以及 5 种返回值的格式特征,能独立完成简单的数据存储与查询;

  2. 第二步:掌握进阶技巧:尝试用命令模式执行单条命令,用 INFOCONFIG GET 等命令排查服务问题,逐步适应 redis-cli 在实际开发与运维中的使用场景。

作为 Redis 最基础的工具,redis-cli 是后续学习数据结构、持久化、集群的 “敲门砖”。只有熟练使用它,才能更高效地理解 Redis 的核心功能,为后续进阶打下坚实基础。

posted @ 2025-09-22 19:29  ycfenxi  阅读(7)  评论(0)    收藏  举报