连接Redis的命令是操作Redis数据库的基础,涵盖了客户端连接、身份验证、选择数据库、连接状态查看等核心功能,以下从不同场景和需求出发,详细解析常用命令及其使用方法。

基础连接命令
-
连接Redis服务器
使用redis-cli
命令行工具连接本地Redis服务器,默认端口为6379:redis-cli
若需连接远程服务器,需指定IP和端口:
redis-cli -h 192.168.1.100 -p 6379
若Redis设置了密码,可通过
-a
参数直接认证:redis-cli -h 192.168.1.100 -p 6379 -a yourpassword
-
身份验证
如果未在连接时指定密码,连接后需通过AUTH
命令验证:(图片来源网络,侵删)AUTH yourpassword
验证成功后返回
OK
,失败则返回ERR invalid password
。 -
选择数据库
Redis默认有16个数据库(编号0-15),通过SELECT
命令切换:SELECT 2 # 切换到2号数据库
切换成功返回
OK
,数据库之间数据隔离。
连接状态与信息查看
-
查看连接信息
(图片来源网络,侵删)PING
:测试与Redis服务器的连通性,返回PONG
表示连接正常。PING
ECHO
:打印输入的字符串,用于测试或调试:ECHO "Hello Redis"
INFO
:获取Redis服务器的详细信息,可通过参数指定类别:INFO server # 查看服务器信息(如版本、端口) INFO clients # 查看客户端连接数 INFO stats # 查看统计信息(如操作数、内存使用)
-
客户端管理
CLIENT LIST
:列出所有连接到Redis的客户端信息,包括IP、端口、数据库编号、连接时间等。CLIENT LIST
CLIENT KILL
:强制断开指定客户端,通过addr
或id
标识:CLIENT KILL 192.168.1.100:12345 # 断开指定IP和端口的客户端
CLIENT PAUSE
:暂停客户端接收命令,单位为毫秒:CLIENT PAUSE 1000 # 暂停1秒
连接配置与安全
-
密码设置与修改
在Redis配置文件redis.conf
中设置requirepass
,或通过命令动态修改(需配置文件允许):CONFIG SET requirepass newpassword
修改后需重新认证才能执行后续操作。
-
绑定IP与端口
- 默认情况下,Redis监听所有IP(
0.0.0
),可通过bind
指令限制访问IP:CONFIG SET bind 127.0.0.1 192.168.1.100
- 修改监听端口:
CONFIG SET port 6380
修改后需重启服务器生效(除非使用
redis-server --port 6380
动态启动)。
- 默认情况下,Redis监听所有IP(
高级连接操作
-
SSL/TLS加密连接
若Redis启用了SSL(需编译时支持),通过redis-cli
的--tls
参数建立安全连接:redis-cli --tls -h 192.168.1.100 -p 6379 -a yourpassword
-
管道(Pipeline)优化
通过管道批量发送命令,减少网络往返时间,提升性能:(echo -en "SET key1 value1\r\nGET key1\r\n"; sleep 1) | nc 192.168.1.100 6379
或在
redis-cli
中使用--pipe
模式导入数据。 -
订阅与发布(Pub/Sub)
在连接状态下,可通过SUBSCRIBE
订阅频道,或PUBLISH
发布消息:SUBSCRIBE channel1 # 订阅channel1频道 PUBLISH channel1 "Hello" # 向channel1发布消息
常见连接问题排查
-
连接被拒绝
- 检查Redis服务是否启动:
ps aux | grep redis
。 - 确认IP、端口是否正确,防火墙是否放行。
- 检查密码是否正确,或是否未认证直接执行命令。
- 检查Redis服务是否启动:
-
连接超时
- 检查网络连通性:
ping 192.168.1.100
。 - 调整Redis超时配置:
CONFIG SET timeout 300
(单位秒)。
- 检查网络连通性:
以下是常用连接命令的总结表格:
命令分类 | 命令 | 功能描述 | 示例 |
---|---|---|---|
基础连接 | redis-cli |
启动Redis客户端 | redis-cli -h 192.168.1.100 -p 6379 |
身份验证 | AUTH |
验证密码 | AUTH yourpassword |
数据库选择 | SELECT |
切换数据库 | SELECT 2 |
连接测试 | PING |
测试连通性 | PING |
服务器信息 | INFO |
获取服务器信息 | INFO server |
客户端列表 | CLIENT LIST |
查看所有客户端连接 | CLIENT LIST |
强制断开客户端 | CLIENT KILL |
断开指定客户端 | CLIENT KILL 192.168.1.100:12345 |
密码设置 | CONFIG SET requirepass |
动态设置密码 | CONFIG SET requirepass newpassword |
SSL连接 | redis-cli --tls |
建立加密连接 | redis-cli --tls -h 192.168.1.100 -p 6379 |
订阅频道 | SUBSCRIBE |
订阅Pub/Sub频道 | SUBSCRIBE channel1 |
相关问答FAQs
Q1: 连接Redis时提示“NOAUTH Authentication required”如何解决?
A: 该错误表示Redis服务器设置了密码但未认证,解决方法有两种:
- 在连接时通过
-a
参数指定密码:redis-cli -h 192.168.1.100 -p 6379 -a yourpassword
。 - 连接后使用
AUTH
命令认证:AUTH yourpassword
。
若仍报错,检查密码是否正确,或确认Redis配置文件中requirepass
是否正确设置。
Q2: 如何查看当前Redis连接的客户端数量和详细信息?
A: 使用以下命令:
- 查看客户端总数:
INFO clients | grep connected_clients
。 - 列出所有客户端详细信息:
CLIENT LIST
,输出包括客户端ID、地址、数据库编号、连接时长等字段。
通过CLIENT LIST | grep "addr"
可快速筛选所有客户端IP。