dot 快速的未来正来到你所在城市的某个活动。

加入我们,参加 Redis 发布会

如何在不安装 Redis 服务器的情况下安装 Redis CLI(即使是在 Windows 上)

Redis CLI对于编写软件以了解新模块而言具有极高的价值。如果您没有 Redis 命令行界面,了解Redis 的数据结构和测试连接会变得更加复杂。

Redis CLI 有两种模式;第一种是交互模式 - REPL(读取评估打印循环) - 其中Redis 命令会从 Redis 服务器传递答复。另一个选项是设置命令模式。使用此模式时,redis-cli 需要额外的参数才能在标准输出上获得答复。但是,对于许多人来说,获取此工具并非易事。Redis 命令行界面的源代码包含在 Redis GitHub 存储库中,并且在您从源代码构建 Redis 时会自动编译。但是,如果您无法从源代码创建 Redis 配置(或不想这么做)怎么办?这意味着您也没有 Redis 命令行界面,并且仅为了访问命令行界面实用程序而从源代码构建整个数据库(甚至是 Redis 数据库)有些小题大做,有时甚至不可行。

在本文中,我们将分享如何在不安装 Redis 或制作完整 Redis 服务器的情况下获取 Redis CLI,但首先,我们先来看几个场景。

问题:无法从源代码构建 Redis

对于我们这些在 Linux 或 macOS 系统上的人来说,从源代码构建 Redis 需要在您的系统上安装相关的编译器和工具,而这些编译器和工具会生成命令行界面 (CLI) 和 Redis 服务器。对于这些平台上的大多数开发者来说,这不是什么大问题。对于那些有兴趣了解部署和操作 NoSQL 的最佳实践的人,请阅读我们的行业报告“部署和操作您的 NoSQL 计划的最佳实践”。

但是,如果您不在类 UNIX 系统上,事情就会变得很快复杂起来。由于各种原因,您不能在 Windows 上编译 Redis。Microsoft 曾经支持在基于 Windows 的机器上直接运行的 Redis 分支,但现在已不再维护。这意味着在 Windows 上,您无法获取当前版本的 Redis CLI。 虽然可以使用能够运行 Redis 的Windows Subsystem for Linux,但这有其自身的挑战,例如文件系统限制,并且通常感觉不属于系统原生或不适合该系统。此外,有许多开发人员的开发机器以一种有趣且富有创意的方式被锁定,以便明确阻止这种类型的操作。

例如,您可能处于服务器规格较低的情况,并且您只需要在 Redis 中进行一些快速检查 - 在这些受限环境中可能无法获取相关依赖项和构建软件。

问题:不想从源代码构建 Redis

在构建使用 Redis 的软件时,您可能不亲自管理或管理 Redis 的 localhost 进程。假设您使用的是 Redis Enterprise Cloud,您可以在几秒钟内获得一个 Redis 实例,但是如果您想对其做任何事情,则需要 CLI,这需要从源代码构建整个包。或者,您可能在大组织中运行自管理的Redis Enterprise Software集群。同样,您可能不需要在开发计算机上构建 Redis 服务器,因为您只想远程连接。

最后,您可能希望快速启动并运行。拉取整个 Redis C 项目(以及构建所需的所有工具)可能对您的工作流程没有帮助。

如果您处于上述情况之一,请继续阅读。

引用 Atwoood 定律

2007 年,杰夫·阿特伍德颇为轻蔑地写道,“任何可以用 JavaScript 编写的应用程序最终都将用 JavaScript 编写”。

将此引入 Redis,陆家靖于 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 Redis CLI

一旦您安装了 Node.js 和npm,只需一行即可获取并安装redis-cli的 Node.js 版本

npm install -g redis-cli

然后您可以使用该命令运行它

rdcli -h your.redis.host -a yourredispassword -p 11111

(使用您的相关连接信息)。

或者,如果您不喜欢全局安装,您可以克隆存储库并安装依赖项

git clonehttps://github.com/lujiajing1126/redis-cli

cd redis-cli

npm install

然后,您可以通过直接使用命令行参数调用 index.js 文件从该目录运行它

node index.js -h your.redis.host -a yourredispassword -p 11111

(使用您的相关连接信息)。

在不构建 Redis 的情况下安装 Redis CLI

就是这样。你可以使用由陆家京编写的 Node.js redis-cli 快速轻松地在你的开发机器上启动并运行 redis-cli。无需使用 C 构建整个 Redis 项目,你只需获取 Node.js(如果你已经安装,那就更好了,老实说,你很可能已经安装了),安装这个小模块,然后开始在 Redis 中破解。

Redis CLI 辅助任务和功能

我们已经确定 Redis CLI 有两种主要模式,交互模式和命令模式。以下是 Redis CLI 执行的几个补充操作

奖励

这个模块的一个很酷的小用途是将其作为你的 Node.js 项目中 package.json 中 devDependencies 的一部分。这样,你就可以有效地将 redis-cli “打包”到你的项目中,确保你的团队中的每个人都有这个工具。为此,将其安装为开发依赖项

npm install -save-dev redis-cli

然后在你的 package.json 中,将以下行添加到脚本对象的开头

"rediscli": "node ./node_modules/redis-cli/index.js",

现在,任何拥有你的项目的人都可以通过运行以下命令启动 Redis CLI

npm start rediscli -h your.redis.host -a yourredispassword -p 11111

(使用您的相关连接信息)。

如果需要,你甚至可以硬编码参数,但切记不要在你的 package.json 文件中包含你的 Redis 密码!