先去弄Cygwin环境

redis 预编译的二进制包 redis5编译安装_lua

 下载完成

redis 预编译的二进制包 redis5编译安装_数据库_02

 打开

redis 预编译的二进制包 redis5编译安装_操作系统_03

下一步

redis 预编译的二进制包 redis5编译安装_redis 预编译的二进制包_04

 下一步

redis 预编译的二进制包 redis5编译安装_操作系统_05

 下一步

redis 预编译的二进制包 redis5编译安装_redis 预编译的二进制包_06

 下一步

redis 预编译的二进制包 redis5编译安装_redis_07

 下一步,出现一个界面,让你添加地址,你打开官网,选择mirror sites,点击下面的 Hong Kong(http://mirror-hk.koddos.net/cygwin/

redis 预编译的二进制包 redis5编译安装_操作系统_08

 

redis 预编译的二进制包 redis5编译安装_操作系统_09

 

 把Hong Kong的地址填上,下一步,出现一个选择包的界面

 搜索框里输入文字自动搜索,点击“New”的一列,有个那个下拉按钮,选择版本

redis 预编译的二进制包 redis5编译安装_操作系统_10

 

redis 预编译的二进制包 redis5编译安装_redis 预编译的二进制包_11

还有automake

redis 预编译的二进制包 redis5编译安装_操作系统_12

下一步

redis 预编译的二进制包 redis5编译安装_数据库_13

 

 下一步

redis 预编译的二进制包 redis5编译安装_redis 预编译的二进制包_14

 完成

redis 预编译的二进制包 redis5编译安装_redis 预编译的二进制包_15

 双击桌面上的图标,启动

redis 预编译的二进制包 redis5编译安装_数据库_16

 检查状态和版本



$ cygcheck -c cygwin
Cygwin Package Information
Package              Version        Status
cygwin               3.0.7-1        OK



检查gcc



$ gcc --version
gcc (GCC) 7.4.0
Copyright © 2017 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。



检查make



$ make --version
GNU Make 4.2.1
为 x86_64-unknown-cygwin 编译
Copyright (C) 1988-2016 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第 3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律允许的范围内没有其他保证。



编译Redis

这里我已经下载好了

redis 预编译的二进制包 redis5编译安装_数据库_17

,解压。进入此目录,执行make

redis 预编译的二进制包 redis5编译安装_redis 预编译的二进制包_18

 这个时候,会报错

redis 预编译的二进制包 redis5编译安装_lua_19

cc: 错误:../deps/hiredis/libhiredis.a:No such file or directory
cc: 错误:../deps/lua/src/liblua.a:No such file or directory

我们进入hiredis目录,执行make,同样报错

net.c: 在函数‘_redisContextConnectTcp’中:
net.c:270:21: 错误:‘hints’的存储大小未知
struct addrinfo hints, *servinfo, *bservinfo, *p, *b;

redis 预编译的二进制包 redis5编译安装_操作系统_20

解决:把hiredis目录删除,去GitHub下载新的替代出问题的。https://github.com/redis/hiredis

redis 预编译的二进制包 redis5编译安装_lua_21

执行make,不报错了

redis 预编译的二进制包 redis5编译安装_lua_22

下面进入lua的目录,执行make generic

redis 预编译的二进制包 redis5编译安装_lua_23

 这个也没什么问题。进入linenoise目录,执行make

redis 预编译的二进制包 redis5编译安装_lua_24

最后进入根目录,执行make

redis 预编译的二进制包 redis5编译安装_操作系统_25

最后,启动验证

redis 预编译的二进制包 redis5编译安装_数据库_26

客户端

redis 预编译的二进制包 redis5编译安装_数据库_27

但是有个问题哦,也就是说:我编译这个东西的初衷就是,让编译好的Redis能直接在Windows上启动,而利用Cygwin64编译的,只能通过Cygwin64命令行来启动。下面是我直接打开redis-server.exe:

redis 预编译的二进制包 redis5编译安装_操作系统_28

 

 所以说,从这一方面来说,没达到我想要的结果。微软有Windows版本的Redis,但是那个最新就是3.X的,现在redis都5.X了,想自己编译一个高版本的还不行。。。

不过呢,虽然我们无法直接启动,但是我们可以直接使用的。比如我本地的客户端连接也是可以连得上的

redis 预编译的二进制包 redis5编译安装_数据库_29

不过Cygwin也是个不错的玩意,能在Windows上模拟出Linux的环境。

redis 预编译的二进制包 redis5编译安装_操作系统_30

 

 1. 大量GNU和开源工具的集合,它们在Windows上提供类似Linux发行版的功能。

 2. 一个DLL (cygwin1.dll),它提供了大量的POSIX API功能

至于那个所需的dll文件,就在安装目录的bin目录下

redis 预编译的二进制包 redis5编译安装_redis 预编译的二进制包_31

 

 所以~我有个大胆的想法(复制到redis-server.exe同级目录)

redis 预编译的二进制包 redis5编译安装_redis_32

 

成功了!

客户端连接也没啥问题

redis 预编译的二进制包 redis5编译安装_操作系统_33

 

 我整理了一下,大概就这几个文件

redis 预编译的二进制包 redis5编译安装_操作系统_34

 

 

我把文件打包上传到GitHub了:https://github.com/Mysakura/DataFiles