(书)如何管理redis数据库-2.如何连接到Redis数据库
介绍
Redis是一个开源的内存中键值数据存储。无论您是在本地安装Redis还是使用远程实例,都需要连接到它才能执行大多数操作。在本教程中,我们将介绍如何从命令行连接到Redis,如何验证和测试您的连接以及如何关闭Redis连接。
如何使用本指南
本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。
本指南中显示的命令已在运行Redis版本的Ubuntu 18.04服务器上进行了测试 4.0.9。要设置类似的环境,您可以按照我们的指南如何在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
的_交互模式_,该_模式_为您提供一个read-eval-print循环(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密码,则即使客户端未-a
在redis-cli
命令中包含该标志,客户端也可以连接到Redis 。但是,他们将无法添加,更改或查询数据,除非他们进行身份验证。要在连接后进行身份验证,请使用auth
命令和密码:
* auth password
如果传递给的密码auth
有效,则命令将返回OK
。否则,它将返回错误。
如果您正在使用托管Redis数据库,则云提供商可能会给您提供一个以URI开头redis://
或rediss://
可用于访问数据存储的URI 。如果连接字符串以开头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
请注意,ping
Redis在内部也使用它来测量延迟。
与Redis断开连接
要与Redis实例断开连接,请使用以下quit
命令:
* quit
运行exit
也会退出连接:
* exit
两者quit
和exit
都会关闭连接,但是只有在所有未决答复都已写到客户端后,才可以。
结论
本指南详细介绍了用于建立,测试和关闭与Redis服务器的连接的许多命令。如果您想在本指南中看到其他相关的命令,参数或过程,请在下面的评论中提出疑问或提出建议。