Windows 10 环境下 Redis 编译与运行指南

概述

本指南将带领您在 Windows 10 系统上完成 Redis 的编译与运行,即使您没有 Linux 环境也能体验 Redis 的强大功能。我们将从环境准备开始,逐步介绍编译过程、配置文件修改以及 Redis 服务的启动和测试,并提供一些常见问题的解决方案。

一、搭建MSYS2环境

使用清华源下载安装包或者解压包,如下:

MSYS2 是一种在 Windows 平台上模拟 Linux 运行环境的技术,它的一个优点就在于利用 pacman包管理器,我们可以比较轻松的使用 Linux 包管理器的方式来安装一整套可以在 Windows 上运行的 Linux 工具。

安装后或者解压后,需要更换源,在安装目录下的文件夹 MSYS2\etc\pacman.d 找到三个镜像源文件 mirrorlist.mingw32、mirrorlist.mingw64、mirrorlist.msys,然后分别添加:

复制代码
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch

更换源之后刷新软件包:

复制代码
pacman -Sy

下载gcc和make:

复制代码
 pacman -S gcc make

二、下载 Redis 编译包

完成后开始下载 Redis 包,使用的是华为云镜像

(下载6.0.0+版本,7.0.0以上版本会编译出错)

解压:

三、开始编译

在 msys 进入 Redis 解压路径,进行编译:

复制代码
cd /d/app/redis-6.0.0/

make PREFIX=/d/app/redis-6.0.0/tmp install

【注意:不需要 python3 环境亦可】

pacman -S python
pacman -S python-pip
# 用于安装依赖,否则无法build
pacman -S gcc
# 不装这个,安装依赖还是会报错
pacman -S python-devel

编译完成后,将 \msys64\usr\bin 下的 msys-2.0.dll 、\redis-6.0.0 下的 redis.conf 和 sentinel.conf 复制到 redis-6.0.0\tmp\bin 下:

至此,可以在 CMD 中运行 Redis :

已编译好的文件,可以直接使用,redis-6.0.0windows版-Java文档类资源-CSDN下载

四、更优方案

1、安装双系统、使用虚拟机

2、使用 Docker 拉取镜像,在模拟或者真正的 Linux 环境下编译。

3、云服务器

五、Redis简介

Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统,支持多种数据结构(如字符串、哈希、列表、集合等)。它常被用作数据库、缓存和消息中间件,具备高性能、低延迟的特性。

1、核心特点

内存存储 :数据主要存储在内存中,读写速度极快(每秒可达10万次操作)。
持久化支持 :通过RDB(快照)和AOF(日志)两种机制将数据保存到磁盘,避免数据丢失。
多数据结构 :支持字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等,适用不同场景。
原子操作 :所有操作均为原子性,适合高并发场景。
分布式:支持主从复制、哨兵模式(Sentinel)和集群模式(Cluster),实现高可用与水平扩展。

2、常见应用场景

缓存 :加速热点数据访问,减轻数据库压力。
会话存储 :存储用户会话信息,支持分布式系统。
排行榜 :利用有序集合实现实时排名。
消息队列:通过列表或发布/订阅(Pub/Sub)模式实现异步通信。

3、基本命令示例

bash 复制代码
# 字符串操作
SET key value
GET key

# 哈希操作
HSET user:1 name "Alice"
HGET user:1 name

# 列表操作
LPUSH tasks "task1"
RPOP tasks

# 集合操作
SADD tags "redis" "database"
SMEMBERS tags

4、性能优化建议

  • 合理设置内存淘汰策略(如allkeys-lru)。
  • 使用管道(Pipeline)或批量操作减少网络开销。
  • 避免大Key(如过长的列表或哈希),拆分存储。

5、与其他缓存对比

  • Memcached:仅支持简单键值,无持久化功能。
  • MongoDB:面向文档的磁盘数据库,适合复杂查询但延迟较高。

Redis因其简洁性、高性能和丰富的功能,成为现代分布式系统的核心组件之一。

参考文档

原文 redis6.0.6安装(window版)

相关推荐
天天摸鱼的java工程师3 小时前
SpringBoot + OAuth2 + Redis + MongoDB:八年 Java 开发教你做 “安全不泄露、权限不越界” 的 SaaS 多租户平台
java·后端
xyy1233 小时前
.NET Swagger 配置与拓展指南
后端
ChinaRainbowSea3 小时前
11. Spring AI + ELT
java·人工智能·后端·spring·ai编程
不会写DN3 小时前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github
盖世英雄酱581363 小时前
FullGC排查,居然是它!
java·后端
Jagger_3 小时前
SOLID原则中的依赖倒置原则(DIP):构建可维护软件架构的关键
后端
Penge6664 小时前
为什么 Go 中值类型有时无法实现接口?—— 从指针接收器说起
后端
用户90555842148054 小时前
Milvus源码分析:向量查询(Search)
后端
间彧4 小时前
Java HashMap:链表工作原理与红黑树转换
后端
亚雷4 小时前
深入浅出达梦共享存储集群数据同步
数据库·后端·程序员