Windows下编译redis的方法

Redis只有linux版本的。但是如果说想要在Windows上使用其客户端/服务端怎么做呢?Cygwin是一个很好的Windows下的linux模拟环境,因此可以借助Cygwin来实现。

说在前面的是,经测试发现Windows下编译Redis 6.0.12以上的版本会出错,所以建议去Redis的Github项目页面下载6.0.12及其以下版本编译。

1,安装cygwin

Cygwin官网下载页面下载其安装包:

image.png

打开,按如图下操作:

image.png

image.png

image.png

image.png

image.png

然后接下来会开始连接官网下载软件包,但是一般会失败。

image.png

点击确定会让你切换镜像源,如图加入163的Cygwin源(mirrors.163.com/cygwin/)

选中并下一步即可:

image.png

然后等待下载完成。

然后会弹出这样一个软件包安装页面:

image.png

然后选择上面的full,搜索gccmake并标记为安装:

image.png

image.png

image.png

最后一直点下一步,直到开始安装,等待安装完成。

2,下载Redis源码并解压编译

去Redis官网或者github项目页面下载源码并解压,解压后会得到一个文件夹,打开cygwin的控制台,并cd命令进入解压出来的那个文件夹:

image.png

注意,cygwin的目录表示和Windows不同。例如C盘,在cygwin里面表示为/cygdrive/c

例如我的redis源码文件夹是:C:\Users\swsk33\Downloads\redis-6.0.8\redis-6.0.8

那么进入这个文件夹需要用下面命令:

cd "/cygdrive/c/Users/swsk33/Downloads/redis-6.0.8/redis-6.0.8"
复制代码

也就是把C:变成/cygdrive/c,并把路径中所有的\变成/,cd后的路径最好用英文双引号包围。

然后执行:
make
出现如图信息说明编译成功

image.png

再通过以下命令把二进制可执行文件安装(提取) 出来:

make PREFIX=要安装到的路径 install
复制代码

例如我的:

make PREFIX=/cygdrive/c/Users/swsk33/Downloads/redis-bin install
复制代码

把二进制文件安装到C:\Users\swsk33\Downloads\redis-bin

要安装到的路径里面不要带空格否则会出错。

如图,现在得到了已编译的cygwin二进制程序,可以直接在cygwin控制台使用(在你指定的路径的bin文件夹下):

image.png

不过如果用cmd执行这些文件或者直接打开会出错:

image.png

这是因为redis在cygwin的环境下编译,也需要cygwin的运行文件。要想脱离cygwin运行也很简单,在cygwin的安装目录(即先开始安装时设定的cygwin的linux模拟根目录位置)里面,在里面进入bin文件夹并找到cygwin1.dll并复制到和编译出来的二进制文件同目录下,然后就可以用cmd运行或者直接打开了!

image.png

可以把这些文件拷贝到一个目录并把这个目录加入到系统变量Path中去,就可以在cmd通过命令行使用redis了!