在Windows下使用msys2编译最新版的Redis

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 在Windows下使用msys2编译最新版的Redis

之前做了个教程是在Windows上使用Cygwin来编译Redis,不过今天发现了个更好的方案,在Windows上,使用msys2能够编译最新版的Redis。今天我就来分享一下编译的过程。

msys2和cygwin一样,都是在Windows下可以执行Linux命令并编译Linux软件的环境

1,下载安装Msys2并配置镜像源

官网下载并安装Msys2,安装过程很简单,这里就不再赘述安装过程了。

网络异常,图片无法展示
|

默认安装在C:\msys64目录下,安装完成后,打开安装目录下的msys2.exe即可打开msys2控制台,这个文件就是其主程序,可以创建一个快捷方式到桌面。

网络异常,图片无法展示
|

msys2使用的是pacman进行包管理,我们先熟悉一下常用的pacman命令:

# 安装软件包pacman -S 软件包1 [软件包2...]
# 卸载软件包pacman -R 软件包
# 卸载软件包及其依赖包pacman -Rs 软件包
# 更新软件索引并更新系统pacman -Syu

首先我们要更换msys2的软件源,使其下载速度更快,我们更换清华的源,参照清华源官方的换源教程即可:换源教程

按照这个教程换完源之后,打开msys2的控制台,执行命令更新所有包:

pacman -Syu

按照控制台中的英文提示完成更新系统即可。

第一次更新后可能会提示关闭msys2重启,确认后控制台会被关闭,但这时没有完全更新完毕,需要重新打开控制台再执行更新命令。

2,安装编译Redis必要的软件包

打开msys2控制台,执行以下命令安装编译所需的gccmake包:

pacman -S msys/gcc msys/make

安装完成后,我们还需要修改msys2中的一个库文件,否则编译Redis的时候会报错找不到符号Dl_info

用文本编辑器打开msys2安装目录下的usr/include/dlfcn.h这个文件,找到49行这个位置,如下图,将49行#if __GNU_VISIBLE和61行的#endif这两行内容删掉,保存。(建议修改之前先备份这个文件)

网络异常,图片无法展示
|

3,编译Redis

Redis官网下载源代码并解压。(备用下载,提取码:2333

在msys2控制台中,使用cd命令进入到解压后Redis源码所在目录下:

cd"源码目录"

注意,命令中路径都要用英文双引号包围,下面的命令中路径也是一样。

然后开始编译:

make

最后出现Hint: It's a good idea to run 'make test' ;)说明编译成功。

网络异常,图片无法展示
|

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

makePREFIX="要提取到的路径" install

例如我:

makePREFIX="C:\Users\swsk33\Downloads\redis-6.2.6-已编译" install

然后在指定目录中就出现了bin文件夹,这个文件夹中就是编译好了的Redis的Windows二进制文件,可以直接执行。

不过直接打开会提示找不到dll的错误:

网络异常,图片无法展示
|

这时我们只需要在msys2的安装目录中的usr/bin目录下,找到msys-2.0.dll这个文件,复制一个到我们Redis已编译的二进制exe文件同目录下,即可直接运行了:

网络异常,图片无法展示
|

现在,将这个Redis的exe文件所在目录加入Path环境变量,即可使用命令行调用Redis的命令了!

4,Windows添加Redis服务端开机自启

如果你仅仅是想连接已有的远程Redis服务端,就可以不用看这一部分!

为了方便起见,我们可能需要编译完成之后,在本地运行Redis服务端以进行我们平时开发测试。因此我们可以让Redis开机自启动。

首先我们要知道两个可执行文件作用:

  • redis-cli.exe Redis客户端,用于连接Redis服务器
  • redis-server.exe Redis服务端,用于在本机运行Redis服务器

由于Redis是msys2编译的,因此使用绝对路径启动命令可能出现不兼容情况导致启动失败。所以说我们先写一个批处理脚本用于以相对路径启动Redis,放在Redis所在目录下(redis-server.exe同级目录下),再把这个脚本加入到注册表的开机自启动项中即可。

在Redis所在目录下新建一个文本文件并修改扩展名为bat

网络异常,图片无法展示
|

用文本编辑器打开,把下面命令粘贴进去保存:

@echo off
cd /d %~dp0
redis-server redis.conf

上述第二行cd /d %~dp0表示先切换当前路径至批处理文件自身所在路径下,%~dp0在批处理文件中表示批处理文件自身所在目录。由于这个脚本放在Redis所在目录下,因此这条语句就达到了先切换当前路径到Redis目录下的目的,就可以后续以相对路径启动Redis了!

上面第三行就是Redis的启动命令,redis.conf是我的redis配置文件,也位于Redis所在目录下。

如果对Redis启动命令和配置文件不明白可以看看:传送门

编写完批处理后,打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run这一项:

网络异常,图片无法展示
|

这一项中的所有值都是开机自启动项。

在右边右键-新建-字符串值,名称随意,值为"上述启动Redis的批处理文件位置"

网络异常,图片无法展示
|

网络异常,图片无法展示
|

注意注册表值中,路径必须是启动批处理文件的绝对路径并用英文双引号包围

确定,然后就成功地添加了开机自启动项!

若后续不需要Redis再开机自启动,就把上述新建的注册表值删除即可!

相关文章
|
4月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
842 16
|
11月前
|
NoSQL Redis 数据安全/隐私保护
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
文章提供了Redis最流行的图形化界面工具Another Redis Desktop Manager的下载及使用教程,包括如何下载、解压、连接Redis服务器以及使用控制台和查看数据类型详细信息。
2543 6
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
|
11月前
|
NoSQL Redis 数据库
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
文章提供了Redis图形化界面工具的下载及使用教程,包括如何连接本地Redis服务器、操作键值对、查看日志和使用命令行等功能。
1847 0
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
|
NoSQL Redis Windows
windows服务器重装系统之后,Redis服务如何恢复?
windows服务器重装系统之后,Redis服务如何恢复?
240 6
|
10月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
472 4
|
11月前
|
NoSQL Redis 数据库
Redis Windows版下载,带安装包
文章提供了Windows版Redis的下载和安装指南,包括如何解压、启动Redis服务以及连接到Redis数据库。
5216 0
Redis Windows版下载,带安装包
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
628 3
|
11月前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
1110 0
|
NoSQL Redis Windows
Windows 下安装Redis
Windows 下安装Redis
175 0
Windows 下安装Redis
|
NoSQL Redis
windows32位下安装Redis
windows32位下安装Redis
593 0
windows32位下安装Redis