如何连接到 Redis 数据库

介绍

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,即使它们-aredis-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
Output
PONG

如果您向ping命令提供参数,它将返回该参数而不是PONG连接成功:

  • ping "hello Redis!"
Output
"hello Redis!"

如果您ping在断开连接模式下运行或任何其他命令,您将看到如下输出:

  • ping
Output
Could not connect to Redis at host:port: Connection refused

请注意,pingRedis 在内部也使用它来测量延迟

与Redis断开连接

要与 Redis 实例断开连接,请使用以下quit命令:

  • quit

运行exit也会退出连接:

  • exit

双方quitexit会关闭连接,但只有当所有未决的答复已写入到客户端。

结论

本指南详细介绍了用于建立、测试和关闭与 Redis 服务器的连接的许多命令。如果您希望在本指南中看到其他相关命令、参数或过程,请在下面的评论中提问或提出建议。

有关 Redis 命令的更多信息,请参阅我们关于如何管理 Redis 数据库的系列教程

觉得文章有用?

点个广告表达一下你的爱意吧 !😁