点 Redis 8 来了——它是开源的

了解更多

在 Windows 10 上运行 Redis

在本指南中,我们将介绍几个主题,帮助您在 Windows 10 上安装 Redis。我们还将探讨这是否是最佳设置。

准备好体验 Redis Cloud 了吗?  立即注册免费账户。

目录

如何在预编译的 Windows 二进制文件上下载、安装和运行 Redis

您可以从 Dusan Majkic 的 GitHub 页面 下载一个适用于 32 位和 64 位 Windows 的、略微过时的预编译版本 Redis。

在 Windows 上下载 Redis 后,您需要从 zip 文件中解压可执行文件。只要您使用的 Windows 版本比 Windows XP 新,您应该无需额外软件即可解压 Redis。 

Redis running in windows
图 A.1 在 Windows 中运行的 Redis

将 32 位或 64 位版本的 Redis 解压到您选择的位置后(取决于您的平台和偏好;请记住,64 位 Windows 可以运行 32 位或 64 位 Redis,但 32 位 Windows 只能运行 32 位 Redis),您可以通过双击 redis-server 可执行文件来启动 Redis。Redis 启动后,您应该会看到一个类似于图 A.1 的窗口。

在 Windows 上自行编译 Redis

如果您需要尽可能在 Windows 上运行最新版本的 Redis,则需要自行编译 Redis。最佳选择是使用 微软的官方移植版本,这需要 Microsoft Visual Studio,尽管免费的 Express 2010 版本也能正常工作。如果选择此途径,请注意微软不保证其 Windows 移植版本除了开发和测试之外的任何用途的适用性。

您可以使用 Windows Subsystem for Linux (简称 WSL2) 在 Windows 10 上安装 Redis 缓存。WSL2 是一个兼容层,用于在 Windows 10 和 Windows Server 2019 上原生运行 Linux 二进制可执行文件。WSL2 允许开发者直接在 Windows 上运行 GNU/Linux 环境(包括命令行工具、实用程序和应用程序)。

在 Windows 10 上运行 Redis

自从 Jessica Deen 在我的 SVDevOps Meetup 上解释了 WSL 的工作原理以来,我就一直建议使用 Windows 10 的 Redis 用户在他们自己的开发机器上运行 Redis。没错,您没听错。从 Windows 10 (v1709 – 2017-09,创意者更新秋季版) 开始,您可以在 Windows Subsystem for Linux (WSL) 上运行至少六种 Linux 发行版,并可以在其上运行 Redis。无需虚拟机。无需 Docker。是真的!

如何知道我的 Windows 10 是否带有 WSL?

要回答“我的电脑运行的是哪个 Windows 版本?”这个问题,按下 Windows 徽标键 + R,输入“winver”,然后选择“确定”。从版本 10 开始,您就有了一个名为“wslconfig”的命令。它会列出您拥有的发行版,并通过键入“bash”来控制启动哪个发行版。试试看!

如何设置 WSL

  1. 要安装 Redis Windows Subsystem for Linux,请按照 Microsoft Docs 上的说明进行操作。简而言之:在 Windows 10 中,Microsoft 将 PowerShell 替换为默认 shell,取代了 Command Prompt。以管理员身份打开 PowerShell 并运行此命令以启用 Windows Subsystem for Linux (WSL):
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  2. 更改后重启 Windows——请注意,只需执行此操作一次。
  3. Microsoft Store 下载并安装受支持的 Linux 发行版之一。

在 Windows 10 上安装和测试 Redis

您可以使用 Windows Subsystem for Linux (简称 WSL2) 在 Windows 10 上运行 Redis。WSL2 是一个兼容层,用于在 Windows 10 和 Windows Server 2019 上原生运行 Linux 二进制可执行文件。WSL2 允许开发者直接在 Windows 上运行 GNU/Linux 环境(包括命令行工具、实用程序和应用程序)。

您可以按照以下书面步骤操作,或观看此视频,其中 Guy Royse 将向您展示如何使用 Windows Subsystem for Linux (WSL) 在 Windows 10 上安装最新版本的 Redis。

https://www.youtube.com/embed/_nFwPTHOMIY

按照这些说明在 Microsoft Windows 10 上运行 Redis 数据库。

步骤 1:开启 Windows Subsystem for Linux

在 Windows 10 中,Microsoft 将 PowerShell 替换为默认 shell,取代了 Command Prompt。以管理员身份打开 PowerShell 并运行此命令以启用 Windows Subsystem for Linux (WSL)

 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

更改后重启 Windows — 请注意,只需执行此操作一次。

步骤 2:启动 Microsoft Windows Store

 start ms-windows-store:

然后搜索 Ubuntu 或您偏好的 Linux 发行版,并下载最新版本。

步骤 3:安装 Redis 服务器

安装 Redis 简单明了。以下示例适用于 Ubuntu(首次使用时需要等待初始化并创建登录用户)

 sudo apt-add-repository ppa:redislabs/redis sudo apt-get update sudo apt-get upgrade sudo apt-get install redis-server

注意

根据您的系统用户配置,可能需要或不需要使用 sudo 命令。

步骤 4:重启 Redis 服务器

按如下方式重启 Redis 服务器

 sudo service redis-server restart

步骤 5:验证您的 Redis 服务器是否正在运行

使用 redis-cli 命令测试与 Redis 数据库的连接。

 $ redis-cli 127.0.0.1:6379> set user:1 "Jane" 127.0.0.1:6379> get user:1"Jane"

注意

默认情况下,Redis 有 0-15 个数据库索引,您可以在 redis.conf 中更改 `databases NUMBER` 来改变这个数量。

步骤 6:停止 Redis 服务器

 sudo service redis-server stop

更多信息

  • Linux 如何在 Windows 10 中运行? 这些未经修改的 Linux 库使用的系统调用 (syscalls) 没有调用 Linux 内核,而是被重定向到 Windows,由 Windows 处理调用而不是 Linux。有关 WSL 的更多信息,请访问 MSDN 上的 Windows Subsystem for Linux 文档
  • 如何访问存储在 Linux 环境中的文件? 如果您想在 Windows 和 Linux 中编辑 Windows 文件,则将文件保存在 /mnt/c/ 中,这样您可以使用任一操作系统进行编辑。不要使用 Windows “触及 Linux 文件系统”。正如 Scott Hanselman 在他的 WSL 博客文章 中所说:“此地有龙!”有关 WSL 存储的更多信息,请访问 Jack Hammon 在 MSDN 上题为“WSL 文件系统支持”的博客文章。

既然 Redis 已经在 Windows 上运行起来了,现在是时候下载并安装 Python 了。

如何在 Windows 上下载和安装 Python

如果您已经安装了 Python 2.6 或 2.7,那就没问题。如果还没有,您需要下载 Python 2.7 的最新版本,因为这是支持 Redis 库的最新 Python 版本。前往 https://pythonlang.cn/download/ 并选择 2.7 系列中适用于 Windows 的最新版本(同样,取决于您的平台,选择 32 位或 64 位版本)。Python 下载完成后,您可以双击下载的 .msi 文件进行安装。

假设您接受了安装 Python 2.7 的所有默认选项,Python 应该安装在 C:Python27。接下来,您只需要安装 Python Redis 库就可以使用 Redis 和 Python 了。如果您使用的是 Python 2.6,那么书中所提到的 Python27 都可以替换为 Python26

如何安装 Redis 客户端库

为了帮助您安装 Redis 客户端库,您将使用 setuptools 包中的 easy_install 工具。这是因为您可以轻松地从命令行下载 setuptools。要开始,请在开始菜单的“附件”程序组中打开命令提示符。

打开命令提示符后,请参照以下列表;它展示了如何下载和安装 setuptools 和 Redis 客户端库。

列表 A.6 在 Windows 上安装 Python 的 Redis 客户端库

C:Usersjosiah>c:python27python

在交互模式下单独启动 Python。

Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit...
Type "help", "copyright", "credits" or "license" for more information.
>>> from urllib import urlopen

从 urllib 模块导入 urlopen 工厂函数。

>>> data = urlopen('http://peak.telecommunity.com/dist/ez_setup.py')

获取一个能帮助您安装其他包的模块。

>>> open('ez_setup.py', 'wb').write(data.read())

将下载的模块写入磁盘文件。

>>> exit()

运行内置的 exit() 函数退出 Python 解释器。

C:Usersjosiah>c:python27python ez_setup.py

运行 ez_setup 帮助模块。

Downloading http://pypi.python.org/packages/2.7/s/setuptools/...

已完成 setuptools==0.6c11 的依赖处理

ez_setup 帮助程序会下载并安装 setuptools,这将方便您下载和安装 Redis 客户端库。

C:Usersjosiah>c:python27python -m easy_install redis
Searching for redis

已完成 redis 的依赖处理

使用 setuptools 的 easy_install 模块下载并安装 Redis。

C:Usersjosiah>

现在您已经安装了 Python 和 Redis 客户端库,请继续阅读,了解在 Windows 上运行 Redis 是否是适合您的最佳设置。

在 Windows 上运行 Redis 的缺点

在 Windows 上运行 Redis 的主要缺点是 Redis 官方不支持 Windows。 具体来说,Windows 不支持 fork 系统调用,Redis 在各种情况下使用此调用将数据库转储到磁盘。由于无法 fork,Redis 在执行某些必要的数据库保存方法时会阻塞客户端,直到转储完成。

最近,Microsoft 投入了工程时间,帮助解决后台保存问题,使用线程而不是分叉的子进程将数据写入磁盘。

截至撰写本文时,Microsoft 确实有一个 Redis 2.6 的 Alpha 阶段分支,但它仅以源代码形式提供,并且 Microsoft 不保证其在生产环境中的适用性。

至少在短期内,有前文提到的 Dusan Majkic 提供的 Redis 非官方移植版本,它提供了 Redis 2.4.5 的预编译二进制文件。然而,当将数据库转储到磁盘时,Redis 会阻塞。

立即开始使用免费的 Redis Cloud 账户