Redis是一个开源的内存数据结构存储系统,常被用作数据库、缓存、消息代理和队列。安装Redis本身并不复杂,但在不同操作系统和部署场景下,配置文件、启动方式、服务托管等细节差异很大。如果只是执行一条安装命令而不理解关键参数,后续容易出现端口暴露、内存失控或数据不持久化等问题。本文以Redis 7.x为例,整理从安装准备、系统安装、配置优化到启动验证的完整流程,帮助你在本地开发环境或服务器上快速搭建一个稳定可用的Redis实例。

一、安装前的准备与版本选择
正式安装前,需要先确认目标系统、使用场景以及版本策略。Redis 7.x是当前较为稳定的版本线,相比6.x在性能、内存管理和命令扩展上都有明显提升。官方提供的源码包、容器镜像和二进制包主要以Linux为第一优先级,因此Linux环境通常能获得最完整的特性和最及时的更新。如果你使用的是Ubuntu、Debian、CentOS、Rocky Linux或AlmaLinux等常见发行版,安装方式都比较成熟。
如果选择源码编译安装,还需要准备编译工具链。在Ubuntu或Debian上可以执行sudo apt install build-essential -y来安装gcc、make等基础工具;在CentOS或RHEL上则可以执行sudo dnf groupinstall "Development Tools" -y。不过,许多场景下直接使用系统包管理器安装会更省事,也能更方便地通过systemd管理服务。对于只是本地学习或临时测试的情况,也可以使用Docker启动Redis,避免对宿主机环境产生污染。
Windows用户需要特别注意:微软曾经维护过一个Redis for Windows版本,但已长期停留在3.x,不适合新项目使用。当前推荐的做法是启用WSL2,并在Ubuntu子系统中按照Linux方式安装Redis,或直接使用Docker Desktop运行Redis镜像。macOS用户则可以通过Homebrew快速安装,配置路径与Linux略有不同,但核心参数完全一致。
二、Linux下安装Redis详细步骤
Ubuntu和Debian系列发行版可以直接使用APT安装Redis。执行下面两条命令即可完成安装:
sudo apt update sudo apt install redis-server -y
安装完成后,Redis会默认创建服务单元,配置文件一般位于/etc/redis/redis.conf,数据目录位于/var/lib/redis。此时服务可能已经自动启动,可以通过redis-server --version查看版本,通过systemctl status redis查看运行状态。如果系统没有自动启动,可以手动执行sudo systemctl start redis。
在CentOS、RHEL、Rocky Linux或AlmaLinux上,Redis通常不在默认仓库中,需要先启用EPEL仓库,再安装Redis。命令如下:
sudo dnf install epel-release -y sudo dnf install redis -y
如果是较老的CentOS 7系统,可以使用yum install epel-release -y和yum install redis -y。安装后配置文件通常位于/etc/redis.conf,服务名称为redis。无论是Debian系还是RedHat系,包管理器安装的Redis都会默认创建守护进程配置,便于后续通过systemctl统一管理。
如果希望使用最新版本或需要自定义编译参数,可以采用源码编译安装。先从Redis官网下载源码包,解压后进入目录进行编译:
wget https://download.redis.io/releases/redis-7.2.5.tar.gz tar xzf redis-7.2.5.tar.gz cd redis-7.2.5 make -j$(nproc) sudo make install
make -j$(nproc)表示根据CPU核心数并行编译,可以显著缩短编译时间。make install会把redis-server、redis-cli、redis-sentinel等常用命令安装到/usr/local/bin目录。源码编译完成后,默认不会自动生成systemd服务,需要手动复制配置文件并注册服务,后文会专门说明。
三、配置redis.conf与关键参数
Redis的核心配置全部集中在redis.conf文件中。安装方式不同,文件位置也不同:Ubuntu/Debian通常是/etc/redis/redis.conf,CentOS/RHEL通常是/etc/redis.conf,源码编译安装则需要手动复制源码目录中的redis.conf到合适位置。修改配置前建议先备份原文件,例如执行sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak,这样即使改错也能快速恢复。
网络与安全是首先要关注的配置。默认情况下,Redis只监听127.0.0.1,也就是本机访问。如果要让同一内网中的其他服务器访问Redis,需要把bind参数改为内网IP,例如bind 127.0.0.1 192.168.1.10。同时建议设置requirepass访问密码,否则任何人都能连接Redis并执行FLUSHALL清空数据。生产环境不要将Redis直接暴露在公网,必要时配合云防火墙或iptables限制来源IP。
持久化相关参数决定了数据是否能在重启后保留。Redis默认使用RDB快照,通过save配置触发条件。例如save 900 1表示900秒内至少1次写操作就执行快照。对于数据可靠性要求更高的场景,建议开启AOF持久化,将appendonly设置为yes。AOF会记录每一次写操作,重启后通过回放日志恢复数据,虽然文件体积比RDB大,但丢失数据的概率更低。实际使用中,多数生产环境会同时开启RDB和AOF,以兼顾恢复速度和数据安全。
内存管理同样不可忽视。Redis数据存储在内存中,如果不设置上限,在高写入场景下可能耗尽系统内存,触发OOM Killer导致服务被杀。可以通过maxmemory限定最大内存,例如maxmemory 512mb。同时需要设置maxmemory-policy指定淘汰策略,常用的是allkeys-lru,当内存达到上限时优先淘汰最近最少使用的键。日志和目录配置也建议调整,将logfile指向固定日志文件,将dir指向持久化文件所在的目录。
下面是一份经过简化但可直接用于内网环境的配置示例:
bind 127.0.0.1 -::1 port 6379 protected-mode yes daemonize no supervised systemd requirepass Str0ng_P@ssw0rd save 900 1 save 300 10 save 60 10000 appendonly yes appendfilename appendonly.aof maxmemory 512mb maxmemory-policy allkeys-lru logfile /var/log/redis/redis-server.log dir /var/lib/redis
其中daemonize no和supervised systemd是为systemd托管准备的。如果使用systemd管理服务,建议将daemonize设为no,让Redis在前台运行,由systemd负责守护。很多管理员在源码安装时习惯把daemonize改为yes,接入systemd后反而出现服务启动后立即退出的问题,这个点需要特别注意。
四、启动Redis并验证配置
使用包管理器安装的Redis,通常可以直接通过systemctl管理服务。启动并设置开机自启的命令如下:
sudo systemctl start redis sudo systemctl enable redis sudo systemctl status redis
如果看到状态为active (running),说明服务已经成功运行。源码编译安装的用户如果没有现成的service文件,需要手动创建systemd单元。可以把下面内容保存到/etc/systemd/system/redis.service:
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target
保存后执行sudo systemctl daemon-reload重新加载服务配置,再执行sudo systemctl start redis启动。如果系统中还没有redis用户,需要先创建用户并调整数据目录权限,否则服务会因权限不足无法写入持久化文件。也可以把User和Group暂时改为root,但生产环境不建议这样做。
服务启动后,使用redis-cli进行连通性验证。最基础的检查是执行redis-cli ping,正常情况下会返回PONG。进入交互式命令行后,可以测试认证和读写操作:
redis-cli 127.0.0.1:6379> AUTH Str0ng_P@ssw0rd OK 127.0.0.1:6379> SET name redis-demo OK 127.0.0.1:6379> GET name "redis-demo" 127.0.0.1:6379> INFO server
INFO server会返回Redis版本、运行模式、进程ID等信息,如果看到redis_version:7.2.5或相近版本号,说明服务正常。还可以执行CONFIG GET requirepass确认密码配置是否生效,以及CONFIG GET maxmemory检查内存上限。重启服务后再执行GET name,如果开启了AOF或RDB持久化,数据应当仍然存在,这一步可以作为持久化是否生效的简单验证。
五、Windows和macOS安装要点
Windows环境下安装Redis最推荐的方式是启用WSL2,并在Ubuntu子系统中完成安装。首先以管理员身份打开PowerShell,执行:
wsl --install -d Ubuntu
安装完成后进入Ubuntu子系统,按照前面Linux部分的APT安装步骤操作即可。WSL2会单独运行一个轻量级Linux虚拟机,因此Redis能获得完整的Linux兼容性。如果不想使用WSL2,也可以在Windows上安装Docker Desktop,然后用容器运行Redis,命令如下:
docker run -d --name redis -p 6379:6379 redis:7.2
这种方式的好处是隔离性好,适合临时测试和本地开发。需要注意,旧版微软Redis安装包默认会解压到C:\Redis\目录,配置文件为C:\Redis\redis.windows.conf,但该版本停留在3.x,存在较多功能缺失和安全问题,不建议用于新项目。
macOS上安装Redis最方便的工具是Homebrew。先确认已经安装Homebrew,然后执行:
brew update brew install redis
安装完成后,配置文件在Intel芯片机器上通常位于/usr/local/etc/redis.conf,在Apple Silicon机器上位于/opt/homebrew/etc/redis.conf。使用brew services start redis可以将Redis作为后台服务并设置开机自启。如果只是临时启动,也可以直接运行redis-server /opt/homebrew/etc/redis.conf,根据实际路径调整即可。
下表整理了不同系统的安装方式、配置文件位置和启动命令,便于对照操作:
| 系统 | 推荐安装方式 | 配置文件路径 | 启动命令 |
|---|---|---|---|
| Ubuntu/Debian | APT | /etc/redis/redis.conf | sudo systemctl start redis |
| CentOS/RHEL | EPEL + DNF/YUM | /etc/redis.conf | sudo systemctl start redis |
| Linux源码编译 | make install | /etc/redis/redis.conf | systemd或redis-server |
| Windows | WSL2或Docker | Linux子系统内部 | WSL内systemctl |
| macOS | Homebrew | /opt/homebrew/etc/redis.conf | brew services start redis |
无论使用哪种系统,安装完成后都应当先检查bind、requirepass和maxmemory这三个关键配置,再用redis-cli进行一次读写测试。完成这些步骤后,一个可用的Redis实例就搭建好了。后续可以根据业务场景进一步调整持久化策略、设置主从复制或开启Sentinel高可用。

