视频

了解更多
Redis CLI 对于编写软件以及了解新模块来说是无价的。如果没有 Redis 命令行界面,理解 Redis 的数据结构和测试连接将会复杂得多。
Redis CLI 有两种模式;第一种是交互模式 – REPL(读取、评估、打印循环)– 在这种模式下,Redis 命令会接收 Redis Server 的回复。另一种选项是设置命令模式。在这种模式下,redis-cli 需要额外的参数才能在标准输出上获得回复。然而,对于许多人来说,获得这个宝贵的工具并不容易。Redis 命令行界面的源代码包含在 Redis GitHub 仓库中,并且在从源代码构建 Redis 时会自动编译。但是,如果你不能(或不想)从源代码创建 Redis 配置,会发生什么呢?这意味着你也无法获得 Redis 命令行界面,而仅仅为了访问命令行界面工具而从源代码构建整个数据库,即使是 Redis 数据库,也是小题大做,有时甚至不是一个可行的选项。
在这篇文章中,我们将分享如何在不安装 Redis 或不构建完整 Redis Server 的情况下获取 Redis CLI,但首先,让我们看几个场景。
对于使用 Linux 或 macOS 的开发者来说,从源代码构建 Redis 需要在系统上安装相关的编译器和工具,这将同时生成命令行界面 (CLI) 和 Redis Server。对于这些平台上的大多数开发者来说,这并不是一个巨大的负担。对于那些对部署和操作 NoSQL 的最佳实践感兴趣的人,请阅读我们的行业报告“NoSQL 计划的部署和操作最佳实践”。
然而,如果你不在类 UNIX 系统上,事情很快就会变得复杂。由于各种原因,你无法直接在 Windows 上编译 Redis。微软曾经支持过一个直接在 Windows 机器上运行的 Redis 分支,但它已不再维护。这意味着,在 Windows 上,你无法获得最新版本的 Redis CLI。 虽然可以使用Windows Subsystem for Linux 来运行 Redis,但这也有其自身的挑战,例如文件系统限制以及总体上感觉不原生或不适合该系统。此外,许多开发人员的开发机器被以一种有趣且创造性的方式锁定,从而明确阻止此类操作。
例如,你可能处于这样一种情况:你在低配置服务器上,只需要对 Redis 进行一些快速检查 – 在这些受限环境中可能无法获取依赖并构建软件。
在许多情况下,你可能正在构建使用 Redis 的软件,但你个人永远不会管理或维护 Redis 的本地主机进程。想象一下,如果你正在使用 Redis Enterprise Cloud – 你可以在几秒钟内获得一个 Redis 实例,但如果你想对其进行任何操作,你需要拥有 CLI,而这需要从源代码构建整个软件包。或者,你可能在一家大型组织中,正在运行一个自管理的 Redis Enterprise Software 集群。在这种情况下,你也可能没有实际需要在你的开发机器上构建 Redis Server,因为你只是想远程连接。
最后,你可能希望快速上手。下载整个 Redis C 项目(以及构建所需的所有工具)可能对你的工作流程效率不高。
如果你属于上述情况之一,请继续阅读。
2007 年,Jeff Atwood 写道,略带轻蔑地,“任何可以用 JavaScript 编写的应用程序最终都将用 JavaScript 编写。”
将这一点引申到 Redis,Lu Jiajing 于 2015 年开始了一个小项目(不到 250 行 JavaScript!),用 Node.js 重新实现了Redis CLI 的整体操作。从那时起,它越来越接近模拟Antirez 提供的 Redis CLI。虽然还不完美,但它提供了日常所需的大部分功能。
你可能会问,既然仍然需要先安装 Node.js,为什么还要费心呢?首先,Node.js 提供的安装选项比 Redis 多得多。你可以将其作为 Windows 的 GUI MSI 或 macOS 的 pkg 获取,也可以获取 Windows、macOS 或 Linux 的普通压缩二进制文件。 你还可以在许多平台上通过包管理器安装 Node.js。
安装 Node.js 和npm 后,只需一行命令即可获取和安装 Node.js 版本的 redis-cli
npm install -g redis-cli
然后你可以使用以下命令运行它
rdcli -h your.redis.host -a yourredispassword -p 11111
(使用你的相关连接信息)。
或者,如果你不喜欢全局安装,可以克隆仓库并安装依赖项
git clone https://github.com/lujiajing1126/redis-cli
cd redis-cli
npm install
然后你可以通过直接调用 index.js 文件并带有命令行参数,从该目录运行它
node index.js -h your.redis.host -a yourredispassword -p 11111
(使用你的相关连接信息)。
就这样。你可以使用 Lu Jiajing 编写的 Node.js redis-cli 在你的开发机器上快速轻松地启动和运行 redis-cli。与其用 C 语言构建整个 Redis 项目,你只需获取 Node.js(如果你已经安装了,那更好,老实说,你可能已经安装了),安装这个小型模块,然后开始在 Redis 中自由发挥。
我们已经确定 Redis CLI 有两种主要模式:交互模式和命令模式。以下是 Redis CLI 执行的一些补充操作
这个模块一个很酷的小用途是将其作为 Node.js 项目中 package.json 的 devDependencies 的一部分。这样,你就可以有效地将 redis-cli “打包”到你的项目中,确保团队中的每个人都拥有这个工具。要做到这一点,将其安装为开发依赖
npm install -save-dev redis-cli
然后在你的 package.json 中,在 scripts 对象的开头添加以下行
"rediscli": "node ./node_modules/redis-cli/index.js",
现在,拥有你的项目的任何人都可以通过运行以下命令启动 Redis CLI
npm start rediscli -h your.redis.host -a yourredispassword -p 11111
(使用你的相关连接信息)。
如果需要,你甚至可以硬编码参数,但绝不要将你的 Redis 密码包含在 package.json 文件中!