背景说明


  • 在github上面仅能够找到 redis3.2.100的Windows安装文件
  • 比较新的版本比较难以找到, 同事经常出现这个版本的redis卡死的情况, 所以想尝试进行一下升级.

第一部分下载文件


下载 cygwin的安装文件

https://cygwin.com/setup-x86_64.exe
  • 注意:公司里的网速可能会导致不好下载.

下载redis的安装文件

https://download.redis.io/releases/redis-6.0.10.tar.gz
  • 注意:我用2021.6.25 的最新版本 redis6.2.4 版本进行安装时出现错误提示无法进行安装. 所以退而求其次使用这个版本安装成功了.

第二部分 cygwin的安装与设置


双击安装即可.



注意选择使用Install from internet

  • 需要注意使用 Root directory 需要记住

  • 后续编译的文件也是以这个文件为根目录进行处理的.

  • 下一步的LocalPackagesDirectory 只的是互联网下载的临时路径.

注意选择互联网安装可以add 一个 阿里云的 默认镜像,不然可能无法安装

http://mirrors.aliyun.com/cygwin/

  • 注意这里需要通过Search 将部分组件添加进来以便进行编译

    需要添加的主要有:
make,gcc-core,gcc-g++ libgcc1 libgccpp1

  • 注意 每一个单独的包都需要单独进行下载然后进行安装不能偷懒.

  • 注意不要全部下载 不然会打爆磁盘

  • 选择完成之后点击下一步进行安装即可

  • 注意 这一步可能会很漫长,需要慢慢等待,有下载和安装的步骤

  • 安装完成之后就可以进行后续的编译操作了

  • 安装完只有大概下载120m的文件,安装完大约 600m磁盘大小


第三步 编译安装redis


  • 启动cygwin 注意 可以选择第一步里面选择的root 路径直接双击bat文件即可.

  • 双击bat 就会在 此路径下的 home 创建当前用户的一个目录名

  • 可以讲redis的tar包放进来, 这里我使用最新版,验证错误内容.

  • 进行解压缩和安装处理

tar -zxvf redis-6.2.4.tar.gz
cd redis-6.2.4
make

就会进入编译过程截图如下:

注意: 这个版本会报错

debug.c: 在函数‘dumpX86Calls’中:
debug.c:1751:5: 错误:未知的类型名‘Dl_info’
1751 | Dl_info info;
| ^~~~~~~
debug.c:1761:13: 警告:implicit declaration of function ‘dladdr’; did you mean ‘s_addr’? [-Wimplicit-function-declaration]
1761 | if (dladdr((void*)target, &info) != 0 && info.dli_sname != NULL) {
| ^~~~~~
| s_addr
debug.c:1761:54: 错误:在非结构或联合中请求成员‘dli_sname’
1761 | if (dladdr((void*)target, &info) != 0 && info.dli_sname != NULL) {
| ^
debug.c:1763:63: 错误:在非结构或联合中请求成员‘dli_sname’
1763 | printf("Function at 0x%lx is %s\n",target,info.dli_sname);
| ^
debug.c: 在函数‘dumpCodeAroundEIP’中:
debug.c:1772:5: 错误:未知的类型名‘Dl_info’
1772 | Dl_info info;
| ^~~~~~~
In file included from debug.c:31:
debug.c:1781:17: 错误:在非结构或联合中请求成员‘dli_sname’
1781 | info.dli_sname, info.dli_saddr, info.dli_fname, info.dli_fbase,
| ^
server.h:2735:27: 附注:in definition of macro ‘serverLog’
2735 | _serverLog(level, __VA_ARGS__);\
| ^~~~~~~~~~~
debug.c:1781:33: 错误:在非结构或联合中请求成员‘dli_saddr’
1781 | info.dli_sname, info.dli_saddr, info.dli_fname, info.dli_fbase,
| ^
server.h:2735:27: 附注:in definition of macro ‘serverLog’
2735 | _serverLog(level, __VA_ARGS__);\
| ^~~~~~~~~~~
debug.c:1781:49: 错误:在非结构或联合中请求成员‘dli_fname’
1781 | info.dli_sname, info.dli_saddr, info.dli_fname, info.dli_fbase,
| ^
server.h:2735:27: 附注:in definition of macro ‘serverLog’
2735 | _serverLog(level, __VA_ARGS__);\
| ^~~~~~~~~~~
debug.c:1781:65: 错误:在非结构或联合中请求成员‘dli_fbase’
1781 | info.dli_sname, info.dli_saddr, info.dli_fname, info.dli_fbase,
| ^
server.h:2735:27: 附注:in definition of macro ‘serverLog’
2735 | _serverLog(level, __VA_ARGS__);\
| ^~~~~~~~~~~
debug.c:1782:17: 错误:在非结构或联合中请求成员‘dli_saddr’
1782 | info.dli_saddr);
| ^
server.h:2735:27: 附注:in definition of macro ‘serverLog’
2735 | _serverLog(level, __VA_ARGS__);\
| ^~~~~~~~~~~
debug.c:1783:44: 错误:在非结构或联合中请求成员‘dli_saddr’
1783 | size_t len = (long)eip - (long)info.dli_saddr;
| ^
debug.c:1789:38: 错误:在非结构或联合中请求成员‘dli_saddr’
1789 | void *base = (void *)info.dli_saddr;
| ^
make[1]: *** [Makefile:368:debug.o] 错误 1
make[1]: 离开目录“/home/Administrator/redis-6.2.4/src”
make: *** [Makefile:6:all] 错误 2

网上没找到方法

  • 换成 redis6.0.10 之后就可以了.
  • 可以看一下编译时间


第四步 启动验证


  • 需要在 redis-6.0.10/src 里面讲 所有的二进制文件抽取出来

  • 需要在cygwin 的bin 目录下面的 cygwin1.dll 这个文件一起放到一个特定的路径里面

  • 需要在redis的目录里面讲redis.conf 同时copy过来便于使用.

  • 注意 需要修改redis.conf 内的密码

为了简单起见可以讲 deamonize 打开

修改配置节
daemonize yes

可以创建一个配置文件用来一键启动redis

在上一层目录创建文件

redis.bat

内容为:

taskkill /im redis-server.exe /F
cd redis
redis-server.exe redis.conf

进行启动验证

可以找人进行其他验证了.

Redis6.x 在Windows上面编译安装的过程的更多相关文章

  1. thrift在windows的编译/安装--c++版

    前言: thrift是出于Facebook的rpc网络编程框架, 其对跨平台和多语言的支持优于google protobuf, 但thrift在java/c#语言上应用比较多, 资料也丰富, 在win ...

  2. FFMPEG在windows平台编译的详细过程,包括环境安装

    下面开始: 由于FFMpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译.要想使用FFMpeg ...

  3. N2N windows下编译安装文件

    n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y ...

  4. Windows下编译安装 FFmpeg

    在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...

  5. RPC与实践(thrift在windows的编译/安装--c++版)

    ------------------------------------------------------------------------ RPC 功能目标 RPC 的主要功能目标是让构建分布式 ...

  6. centos源码编译安装nginx过程记录

    前言:Centos系统编译安装LNMP环境是每来一台新服务器或换电脑都需要做的事情.这里仅做一个记录.给初学者一个参考! 一.安装前的环境 这里用的是centos 7系统. 我们默认把下载的软件放在 ...

  7. CentOS7编译安装sshpass过程

    环境说明:centos 7 cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 我的sshpass版本 sshpass-1.06. ...

  8. windows下编译安装BOOST

    boost的编译和使用,经过搜集资料和总结,记录成文.感谢文后所列参考资料的作者. 1 下载 地址:http://sourceforge.net/projects/boost/files/boost/ ...

  9. windows VS2013 编译安装QWT6.1和QWTPolar1.1.1

    QWT的编译和配置 1. 下载QWT从官网 For getting a snapshot with all bugfixes for the latest 5.2 release: svn expor ...

  10. ffmpeg windows下编译安装

    安装msys2 更新源使下载速度更快 进入msys64/etc/pacman.d/目录中,分别在三个文件中增加mirrorlist.mingw32Server = http://mirrors.ust ...

随机推荐

  1. 详解NLP和时序预测的相似性【附赠AAAI21最佳论文INFORMER的详细解析】

    摘要:本文主要分析自然语言处理和时序预测的相似性,并介绍Informer的创新点. 前言 时序预测模型无外乎RNN(LSTM, GRU)以及现在非常火的Transformer.这些时序神经网络模型的主 ...

  2. MySQL 数据库救火:磁盘爆满了,怎么办?

    摘要:当磁盘空间爆满后,MySQL会发生什么事呢?又应该怎么应对? 本文分享自华为云社区<[MySQL 数据库救火]- 磁盘突然爆满的处理方式>,原文作者:技术火炬手 . 大多数用户在对于 ...

  3. 带你了解NB-IoT标准演进

    摘要:本文将带大家详细了解NB-IoT标准演进与产业发展. 本文分享自华为云社区<一文带你了解NB-IoT标准演进与产业发展>,作者:万万万. 我们都知道,物联网的场景和手机.电脑在使用的 ...

  4. aPaaS将如何改变软件行业?

    摘要:当SaaS在云计算中的占比越来越高的时候,几乎所有软件厂商言必谈SaaS,各大云厂商.咨询机构也都将目光瞄准了SaaS.如此火爆的现象背后,真实情况如何呢? 本文分享自华为云社区<[开天a ...

  5. PNG文件解读(2):PNG格式文件结构与数据结构解读—解码PNG数据

    PNG文件识别 之前写过<JPEG/Exif/TIFF格式解读(1):JEPG图片压缩与存储原理分析>,JPEG文件是以,FFD8开头,FFD9结尾,中间存储着以0xFFE0~0xFFEF ...

  6. 广告策划师如何做 AB 测试

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近年来,随着消费者的心理需求逐步趋向于精神层面.科技的迭代迅速以及市场环境的复杂性逐步上升,我国的广告行业逐步展开 ...

  7. 路由分发 路由别名的名称空间 虚拟环境 HTTPresponse JsonResponse request对象获取文件 CBV源码剖析 模板语法传值特性 模板语法过滤器

    目录 路由分发 路由别名冲突 反向解析失败 方式一:名称空间 include 方式二:别名不冲突即可 虚拟环境 python -m venv venv_name 视图层之必会三板斧 HTTPrespo ...

  8. 别再问我 2050 可以干什么,Make a Movie in a Day!

    2050 的每个年青人都是新物种.越是不可能见面的人见了面,就越会有奇迹发生,2050 努力让年青人见上另一位年青人,激发新的创造力.一起来 2050 看看? 2050 是什么? 2050 大会是由阿 ...

  9. JSP常见错误以及解决方案

    原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 本节我们分析一下常见的 JSP 错误信息,并给出解决方案.这些错误在实际开发中会经常遇到,所以有 ...

  10. <vue 路由 1、路由的基本使用>

    一.     项目创建 参考如下博客地址创建一个vue的项目 https://www.cnblogs.com/yclh/p/15356171.html   vue学习笔记 二.环境搭建+项目创建 二. ...