如何连接到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实例。
- redis-cli
这将进入 redis-cli 的交互模式,提供给您一个读取-评估-打印循环(REPL),您可以在这里运行 Redis 的内置命令并接收回复。
在交互模式下,您的命令行提示符会根据您的连接而变化。在本指南中的此示例和其他示例中,提示符表示连接到本地托管的 Redis 实例,IP 地址为 127.0.0.1,通过 Redis 默认端口 6379 访问。
使用Redis命令的替代方法是将它们作为redis-cli命令的参数运行,示例如下:
- redis-cli redis_command
远程连接到 Redis
如果你想连接到远程的Redis数据存储,你可以分别使用-h和-p标志来指定它的主机和端口号。此外,如果你已经配置了Redis数据库需要密码,你可以在-a标志后面加上密码进行身份验证。
- redis-cli -h host -p port_number -a password
如果你设置了Redis密码,即使在客户端的redis-cli命令中没有包含-a标志,客户也能够连接到Redis。但是,在进行身份验证之前,他们将无法添加、更改或查询数据。在连接之后进行身份验证,可以使用auth命令,后面跟着密码。
- auth password
如果传递给验证的密码有效,则命令将返回“验证通过”(OK)。否则,将返回一个错误。
如果您正在使用托管的Redis数据库,您的云服务提供商可能会提供一个以redis://或rediss://开头的URI,您可以使用它来访问您的数据存储。如果连接字符串以redis://开头,您可以将其作为连接redis-cli的参数。
Note
使用以下语法来连接到Redli数据库。请注意,此示例包括–tls选项,该选项指定连接应通过TLS进行,并且使用了-u标志,该标志声明后面的参数将是一个URI连接。
- redli –tls -u rediss://connection_URI
如果你尝试连接到一个不可用的实例,redis-cli将进入断开连接模式,并且提示符会反映出这一点,如下:
当Redis处于断开状态时,每次运行命令时,它将尝试重新建立连接。
测试连接
对于测试与数据库的连接是否正常,ping命令非常有用。请注意,这是一个特定于Redis的命令,与ping网络实用程序是不同的。然而,这两者都具有类似的功能,即检查两台机器之间的连接。
如果连接正常并且没有包含任何参数,ping命令将返回PONG。
- ping
PONG
如果您在ping命令中提供了一个参数,当连接成功时它将返回该参数而不是PONG。
- ping “hello Redis!”
“hello Redis!”
如果您以离线模式运行ping或其他命令,您将收到以下类似的输出:
- ping
Could not connect to Redis at host:port: Connection refused
请注意,Redis内部也使用ping命令来测量延迟。
断开与 Redis 的连接
使用quit命令断开与Redis实例的连接。
- quit
运行退出也将退出连接。
- exit
退出和离开都会关闭连接,但只有在所有挂起的回复都被写入客户端之后才会关闭。
结论
这个指南详细介绍了一些用于建立、测试和关闭与Redis服务器连接的命令。如果您在本指南中想了解其他相关命令、参数或过程,请在评论中提问或提出建议。
关于Redis命令的更多信息,请查看我们关于如何管理Redis数据库的教程系列。