05-Redis 命令行客户端(redis-cli)实操指南:从连接到返回值解析
目录
- 引言
- 一、redis-cli——Redis 学习的 “第一工具”
- 二、redis-cli 连接 Redis 服务:两种方式任选
- 2.1 方式一:直接连接(默认配置,适合本地默认服务)
- 2.2 方式二:自定义连接(指定 IP / 端口 / 密码,适合远程或自定义服务)
- (1)指定 IP 和端口连接
- (2)带密码连接
- (3)连接测试:用 PING 命令验证
- 三、redis-cli 核心操作:常用命令实战
- 3.1 数据操作命令(基础示例)
- (1)String 类型:存储单个值、计数器
- (2)Hash 类型:存储对象数据(如用户信息)
- (3)键管理命令:查看、判断、删除键
- 3.2 服务管理命令:查看状态、获取配置
- 四、Redis 命令返回值:5 种类型及解读方法
- 4.1 状态回复:命令执行成功的 “信号”
- 4.2 错误回复:命令执行失败的 “提示”
- 4.3 整数回复:返回整数结果(计数、统计)
- 4.4 字符串回复:返回单个字符串或空值
- 4.5 多行字符串回复:返回多个数据(列表、集合)
- 五、redis-cli 使用技巧:提升效率的 3 个方法
- 5.1 交互模式 vs 命令模式:按需选择
- 5.2 命令补全:按 Tab 键少输错
- 5.3 清屏与退出:快速整理界面
- 六、总结: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 状态回复:命令执行成功的 “信号”
格式:直接返回状态信息(无特殊前缀),最常见的是 OK
或 PONG
。
适用场景:执行 SET
、HSET
、AUTH
、PING
等命令,仅需确认 “是否成功”,无需返回数据。
示例:
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
键,会自动补全命令或显示可选命令,避免拼写错误。
示例:
-
输入
HE
按Tab
键,会补全为HSET
、HGET
、HGETALL
等 Hash 相关命令; -
输入
GET
按Tab
键,会补全为GET
、GETEX
、GETRANGE
等命令。
5.3 清屏与退出:快速整理界面
-
清屏:在交互模式中输入
CLEAR
并回车,可清空终端 / 命令提示符界面(Windows 也可用cls
命令); -
退出:输入
QUIT
或直接按Ctrl+C
,即可退出redis-cli
客户端,不影响 Redis 服务运行。
六、总结:redis-cli 学习的 “两步走”
redis-cli
的学习无需一蹴而就,可按 “两步走” 掌握:
-
第一步:熟练基础操作:先掌握 “连接服务→执行数据命令→解读返回值” 的流程,重点记住 String、Hash 的常用命令,以及 5 种返回值的格式特征,能独立完成简单的数据存储与查询;
-
第二步:掌握进阶技巧:尝试用命令模式执行单条命令,用
INFO
、CONFIG GET
等命令排查服务问题,逐步适应redis-cli
在实际开发与运维中的使用场景。
作为 Redis 最基础的工具,redis-cli
是后续学习数据结构、持久化、集群的 “敲门砖”。只有熟练使用它,才能更高效地理解 Redis 的核心功能,为后续进阶打下坚实基础。