如何连接到Redis数据库

简介

Redis是一个开源的、内存中的键值数据存储。无论您是在本地安装Redis还是在使用远程实例,您都需要连接到它以执行大多数操作。在本教程中,您将学习如何通过命令行连接到Redis,如何进行身份验证和测试您的连接,以及如何关闭Redis连接。

如何使用本指南

这份指南是一个包含自成体系例子的速查表。我们鼓励您跳转至与您正在完成的任务相关的任何部分。

本指南中显示的命令是在运行Redis 6.0.16版本的Ubuntu 22.04服务器上进行测试的。要设置类似的环境,您可以按照我们在《如何在Ubuntu 22.04上安装和保护Redis》指南的第一步进行操作。我们将通过redis-cli运行这些命令,演示它们的行为。请注意,如果您使用的是不同的Redis界面(例如Redli),某些命令的确切输出可能会有所不同。

另外,您可以提供一个托管的Redis数据库实例来测试这些命令,但是根据您的数据库提供商允许的控制级别,本指南中的某些命令可能无法按照描述的方式工作。要提供一个Silicon Cloud托管数据库,请按照我们的托管数据库产品文档操作。然后,您必须安装Redli或设置一个TLS隧道,以便通过TLS连接到托管数据库。

在本地连接至Redis。

如果您在本地安装了Redis服务器,可以使用redis-cli命令连接到Redis实例。

  1. redis-cli

 

这将进入 redis-cli 的交互模式,提供给您一个读取-评估-打印循环(REPL),您可以在这里运行 Redis 的内置命令并接收回复。

在交互模式下,您的命令行提示符会根据您的连接而变化。在本指南中的此示例和其他示例中,提示符表示连接到本地托管的 Redis 实例,IP 地址为 127.0.0.1,通过 Redis 默认端口 6379 访问。

 

使用Redis命令的替代方法是将它们作为redis-cli命令的参数运行,示例如下:

  1. redis-cli redis_command

 

远程连接到 Redis

如果你想连接到远程的Redis数据存储,你可以分别使用-h和-p标志来指定它的主机和端口号。此外,如果你已经配置了Redis数据库需要密码,你可以在-a标志后面加上密码进行身份验证。

  1. redis-cli -h host -p port_number -a password

 

如果你设置了Redis密码,即使在客户端的redis-cli命令中没有包含-a标志,客户也能够连接到Redis。但是,在进行身份验证之前,他们将无法添加、更改或查询数据。在连接之后进行身份验证,可以使用auth命令,后面跟着密码。

  1. auth password

 

如果传递给验证的密码有效,则命令将返回“验证通过”(OK)。否则,将返回一个错误。

如果您正在使用托管的Redis数据库,您的云服务提供商可能会提供一个以redis://或rediss://开头的URI,您可以使用它来访问您的数据存储。如果连接字符串以redis://开头,您可以将其作为连接redis-cli的参数。

Note

注意:如果你的连接字符串以rediss://开头,这意味着你的托管数据库需要通过TLS/SSL进行连接。redis-cli不支持TLS连接,因此你需要使用支持rediss协议的其他工具来连接URI。对于需要通过TLS进行连接的Silicon Cloud托管数据库,我们建议使用Redli来访问Redis实例。

使用以下语法来连接到Redli数据库。请注意,此示例包括–tls选项,该选项指定连接应通过TLS进行,并且使用了-u标志,该标志声明后面的参数将是一个URI连接。

  1. redli –tls -u rediss://connection_URI

 

如果你尝试连接到一个不可用的实例,redis-cli将进入断开连接模式,并且提示符会反映出这一点,如下:

 

当Redis处于断开状态时,每次运行命令时,它将尝试重新建立连接。

测试连接

对于测试与数据库的连接是否正常,ping命令非常有用。请注意,这是一个特定于Redis的命令,与ping网络实用程序是不同的。然而,这两者都具有类似的功能,即检查两台机器之间的连接。

如果连接正常并且没有包含任何参数,ping命令将返回PONG。

  1. ping

 

Output

PONG

如果您在ping命令中提供了一个参数,当连接成功时它将返回该参数而不是PONG。

  1. ping “hello Redis!”

 

Output

“hello Redis!”

如果您以离线模式运行ping或其他命令,您将收到以下类似的输出:

  1. ping

 

Output

Could not connect to Redis at host:port: Connection refused

请注意,Redis内部也使用ping命令来测量延迟。

断开与 Redis 的连接

使用quit命令断开与Redis实例的连接。

  1. quit

 

运行退出也将退出连接。

  1. exit

 

退出和离开都会关闭连接,但只有在所有挂起的回复都被写入客户端之后才会关闭。

结论

这个指南详细介绍了一些用于建立、测试和关闭与Redis服务器连接的命令。如果您在本指南中想了解其他相关命令、参数或过程,请在评论中提问或提出建议。

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

广告
将在 10 秒后关闭
bannerAds