介绍
Redis是一种开源的内存键值数据存储。无论您是在本地安装 Redis 还是使用远程实例,您都需要连接到它才能执行大多数操作。在本教程中,我们将介绍如何从命令行连接到 Redis,如何验证和测试您的连接,以及如何关闭 Redis 连接。
如何使用本指南
本指南编写为带有独立示例的备忘单。我们鼓励您跳到与您要完成的任务相关的任何部分。
本指南中显示的命令在运行 Redis 版本4.0.9的 Ubuntu 18.04 服务器上进行了测试。要设置类似的环境,您可以按照我们关于如何在 Ubuntu 18.04 上安装和保护 Redis 的指南的步骤 1。我们将通过使用Redis 命令行界面运行这些命令来演示这些命令的行为。请注意,如果您使用不同的 Redis 接口——例如Redli——某些命令的确切输出可能会有所不同。redis-cli
或者,您可以配置一个托管的 Redis 数据库实例来测试这些命令,但请注意,根据您的数据库提供商允许的控制级别,本指南中的某些命令可能无法按所述方式工作。要配置 DigitalOcean 托管数据库,请遵循我们的托管数据库产品文档。然后,您必须 安装 Redli 或 设置 TLS 隧道,以便通过 TLS 连接到托管数据库。
连接到Redis
如果您已经redis-server
在本地安装,则可以使用以下redis-cli
命令连接到 Redis 实例:
- redis-cli
这将带您进入redis-cli
的交互模式,该模式为您提供读取-评估-打印循环(REPL),您可以在其中运行 Redis 的内置命令并接收回复。
在交互模式下,您的命令行提示符将更改以反映您的连接。在本示例和本指南的其他示例中,提示表示连接到本地托管的 Redis 实例 ( 127.0.0.1
) 并通过 Redis 的默认端口 ( 6379
) 访问:
-
在交互模式下运行 Redis 命令的另一种方法是将它们作为redis-cli
命令的参数运行,如下所示:
- redis-cli redis_command
如果要连接到远程Redis 数据存储,可以分别使用-h
和-p
标志指定其主机和端口号。此外,如果您已将 Redis 数据库配置为需要密码,则可以在密码后包含-a
标志以进行身份验证:
- redis-cli -h host -p port_number -a password
如果您设置了 Redis 密码,客户端将能够连接到 Redis,即使它们-a
的redis-cli
命令中没有包含该标志。但是,在他们进行身份验证之前,他们将无法添加、更改或查询数据。要在连接后进行身份验证,请使用auth
后跟密码的命令:
- auth password
如果传递给的密码auth
有效,则命令将返回OK
。否则,它将返回错误。
如果您使用托管 Redis 数据库,您的云提供商可能会为您提供一个 URI,该 URI 以 URI 开头redis://
或rediss://
您可以使用它来访问您的数据存储。如果连接字符串以 开头redis://
,您可以将其作为参数包含redis-cli
到连接中。
但是,如果您的连接字符串以 开头rediss://
,则意味着您的托管数据库需要通过TLS/SSL 进行连接。redis-cli
不支持 TLS 连接,因此您需要使用支持该rediss
协议的其他工具才能与 URI 连接。对于需要通过 TLS 建立连接的 DigitalOcean 托管数据库,我们建议使用Redli访问 Redis 实例。
使用以下语法通过 Redli 连接到数据库。请注意,此示例包含--tls
选项,该选项指定应通过 TLS 建立连接,以及-u
声明以下参数将是连接 URI的标志:
- redli --tls -u rediss://connection_URI
如果您尝试连接到不可用的实例,redis-cli
将进入断开连接模式。提示将反映这一点:
-
当Redis处于断开连接状态时,每次运行命令时,它都会尝试重新建立连接。
测试连接
该ping
命令可用于测试与数据库的连接是否处于活动状态。请注意,这是一个特定于 Redis 的命令,与ping
网络实用程序不同。但是,两者共享一个相似的功能,因为它们都用于检查两台机器之间的连接。
如果连接已启动且不包含任何参数,则该ping
命令将返回PONG
:
- ping
OutputPONG
如果您向ping
命令提供参数,它将返回该参数而不是PONG
连接成功:
- ping "hello Redis!"
Output"hello Redis!"
如果您ping
在断开连接模式下运行或任何其他命令,您将看到如下输出:
- ping
OutputCould not connect to Redis at host:port: Connection refused
请注意,ping
Redis 在内部也使用它来测量延迟。
与Redis断开连接
要与 Redis 实例断开连接,请使用以下quit
命令:
- quit
运行exit
也会退出连接:
- exit
双方quit
并exit
会关闭连接,但只有当所有未决的答复已写入到客户端。
结论
本指南详细介绍了用于建立、测试和关闭与 Redis 服务器的连接的许多命令。如果您希望在本指南中看到其他相关命令、参数或过程,请在下面的评论中提问或提出建议。
有关 Redis 命令的更多信息,请参阅我们关于如何管理 Redis 数据库的系列教程。