背景
项目组在windows下使用 redis6.0.x 版本调试哨兵模式的时候,发现在同一台物理机上模拟可行,但是在不同的物理机上哨兵并不能相互ping通,于是尝试编译高版本redis进行测试。结果发现redis 6.2.x版本调试正常。
注意:其实笔者也尝试用MSYS2进行编译redis6.3.x版本,但是在验证时发现MSYS编译的版本不能放在硬盘根目录下,可能MSYS编译有关。不做太多纠结,遂改用Cygwin进行编译。
编译环境准备
Cygwin下载地址:http://www.cygwin.com/setup-x86_64.exe
redis下载地址:Redis
安装Cygwin
具体的安装步骤不在重复,要关注的是安装途中尽量选择阿里的源,同时要额外添加:make,gcc-core , gcc-g++ , pkg-config
解压Redis
将源码包文件放到 D:\devtools\cygwin64\home<用户名> 下,就可以再cygwin模拟环境看到了,然后解压。

?
编译Redis
cd deps
make hiredis linenoise lua hdr_histogram

make
?
- 编译成功,会在redis的文件夹下生成编译好的exe文件
?
- 将编译好的exe文件拷贝到一个任意目录。然后拷贝\cygwin64\bin\cygwin1.dll 文件到 exe 文件所在的目录。同时exe 目录设置好redis.conf、sentinel.conf文件. cmd 中运行redis-server.exe
-
以上编译成功。
验证
按照“一主二从三哨兵”的方式进行相关配置验证,工作正常。

?
|