关键词:Linux安装Redis7教程,Redis7安装,Rocky Linux 9安装Redis,Redis源码编译安装,Redis7部署,Redis安装教程Linux,Redis7配置详解

前言

在当今高并发、低延迟的互联网架构中,Redis 已然成为不可或缺的核心组件。作为一款基于内存的高性能键值对数据库,Redis 凭借微秒级的响应速度和每秒数万次的吞吐能力,被广泛应用于缓存、消息队列、会话存储、分布式锁等场景。

本教程将带你从零开始,在 Rocky Linux 9 操作系统上通过源码编译的方式完成 Linux安装Redis7 的全过程。无论你是刚接触 Redis 的初学者,还是需要搭建生产环境的运维工程师,这篇文章都能为你提供一份完整、可靠、可直接落地的操作指南。

为什么选择源码编译安装? 相比于 yum 等包管理工具的直接安装,源码编译可以让你自由指定安装路径、定制编译参数,并且在生产环境中更容易进行版本控制和问题排查。

📌 环境说明:本教程基于 Rocky Linux 9 操作系统。如果你还没有安装 Rocky Linux 9,可以参考这篇文章完成系统部署:Rocky Linux 9 安装教程(VMware虚拟机图文讲解)

一、Redis是什么?

Redis(全称:Remote Dictionary Server)是一个开源的、基于内存的键值对(Key-Value)存储系统。

核心特性

特性 说明
高性能 数据存储在内存中,读写延迟可达微秒级
丰富的数据结构 支持 String、Hash、List、Set、Sorted Set、Bitmap、HyperLogLog、Stream 等 10 余种数据类型
持久化 支持 RDB 快照和 AOF 日志两种持久化机制,防止数据丢失
高可用 支持主从复制、哨兵模式(Sentinel)自动故障转移、集群模式(Cluster)水平扩展
原子操作 所有操作都是原子性的,支持事务

常见应用场景

  • 缓存加速:将热点数据缓存在 Redis 中,减轻数据库压力
  • 分布式会话管理:在集群环境中统一管理用户 Session
  • 消息队列:利用 List 或 Stream 实现轻量级消息队列
  • 计数器/限流器:利用 INCR 命令实现访问计数、接口限流
  • 分布式锁:利用 SETNX 实现分布式环境下的锁机制

二、Redis安装包下载

在进行 Linux安装Redis7 之前,首先需要获取 Redis 7 的源码安装包。

📥 下载方式

🔗 通过网盘分享的文件:redis linux安装包
链接https://pan.baidu.com/s/1DxBJ1v6tuDloN2B0QUncfA?pwd=hdbc
提取码hdbc

三、Redis安装环境要求

操作系统要求

本教程基于 Rocky Linux 9 操作系统进行演示。Rocky Linux 是 CentOS 的最佳平替方案,由 CentOS 创始人发起,免费、稳定、兼容 RHEL、提供十年支持。

📖 Rocky Linux 9 安装参考Rocky Linux 9 安装教程(VMware虚拟机图文讲解)

硬件最低要求

项目 最低配置 推荐配置
CPU 1 核 2 核及以上
内存 1 GB 4 GB 及以上
磁盘 1 GB 可用空间 10 GB 及以上

软件依赖

在编译 Redis 之前,需要确保系统已安装以下开发工具和依赖包:

  • gccmake 等编译工具链
  • tar 解压工具
  • lrzsz 文件上传工具(可选)

四、Redis安装教程

下面开始正式的 Linux安装Redis7 操作。所有步骤均在 Rocky Linux 9 环境下验证通过。


步骤1:上传Redis安装包

首先创建 Redis 专属目录,并将下载好的安装包上传到服务器。

# 进入 /opt 目录(通常用于存放第三方软件)
cd /opt

# 创建 redis 目录
sudo mkdir redis

# 进入 redis 目录
cd redis

# 安装 lrzsz 工具(用于 rz 命令上传文件)
yum install lrzsz -y

# 执行 rz 命令,在弹出的窗口中选择本地下载的 redis-7.4.9.tar.gz 文件
rz

📌 说明rz 命令会打开文件选择对话框,请选择你下载的 redis-7.4.9.tar.gz 安装包。上传成功后,可以通过 ls -l 命令确认文件是否存在。


在这里插入图片描述
在这里插入图片描述

步骤2:解压安装包

上传完成后,使用 tar 命令解压源码包。

# 安装 tar 解压工具(如果系统未预装)
yum install tar -y

# 解压 redis-7.4.9.tar.gz
tar -zvxf redis-7.4.9.tar.gz

解压完成后,会在当前目录下生成 redis-7.4.9 文件夹。可以通过 ls -l 查看解压后的目录结构。


在这里插入图片描述

步骤3:编译Redis

编译是 Linux安装Redis7 过程中最关键的一步,需要安装开发工具链并执行编译命令。

# 安装 Development Tools 组(包含 gcc、make 等编译工具)
sudo dnf groupinstall "Development Tools" -y

# 进入解压后的源码目录
cd redis-7.4.9

# 执行 make 编译
make

# 进入 src 目录,执行 make install 安装到指定目录
cd src
make install PREFIX=/usr/local/redis

⚠️ 注意make 编译过程可能需要几分钟时间,请耐心等待。如果编译过程中出现错误,通常是因为缺少依赖包,可以根据错误提示安装对应的依赖。

📌 说明PREFIX=/usr/local/redis 指定了 Redis 的安装目录。安装完成后,Redis 的可执行文件(如 redis-serverredis-cli)会被安装到 /usr/local/redis/bin 目录下。


在这里插入图片描述
在这里插入图片描述

步骤4:复制配置文件

编译安装完成后,需要将 Redis 的配置文件复制到安装目录。

# 将源码目录中的 redis.conf 复制到 /usr/local/redis/ 目录
cp /opt/redis/redis-7.4.9/redis.conf /usr/local/redis/

# 进入 /usr/local/redis/ 目录
cd /usr/local/redis/

# 查看目录内容,确认 redis.conf 已成功复制
ls -l

此时 /usr/local/redis/ 目录下应该有 bin 文件夹和 redis.conf 配置文件。


在这里插入图片描述

步骤5:添加环境变量

为了方便在任何目录下直接执行 Redis 命令,需要将 Redis 的 bin 目录添加到系统环境变量中。

# 编辑 /etc/profile 文件
vi /etc/profile

在文件末尾添加以下内容:

export PATH=$PATH:/usr/local/redis/bin

保存并退出后,执行以下命令使环境变量生效:

# 使环境变量生效
source /etc/profile

# 验证环境变量是否配置成功(应包含 /usr/local/redis/bin)
echo $PATH

如果输出结果中包含 /usr/local/redis/bin,说明环境变量配置成功。


在这里插入图片描述

步骤6:启动Redis

环境配置完成后,就可以启动 Redis 服务了。

# 使用 redis-server 命令启动 Redis,指定配置文件路径
redis-server /usr/local/redis/redis.conf &

# 查看 Redis 是否正常启动及端口监听状态
netstat -lntup

📌 说明

  • & 表示将 Redis 放在后台运行。
  • Redis 默认监听端口为 6379
  • 执行 netstat -lntup 后,如果能看到 127.0.0.1:63790.0.0.0:6379 的监听记录,说明 Redis 已成功启动。

在这里插入图片描述
在这里插入图片描述

步骤7:连接Redis并测试

最后,通过 Redis 客户端连接服务,验证安装是否成功。

# 启动 Redis 客户端
[root@rocky bin]# redis-cli

# 连接成功后会进入 Redis 命令行界面,显示 127.0.0.1:6379>
127.0.0.1:6379> set name ergou
OK
127.0.0.1:6379> get name
"ergou"

验证成功:如果 setget 命令都能正常执行并返回预期结果,说明 Linux安装Redis7 已圆满完成!
在这里插入图片描述

五、Redis基础操作

Redis 安装完成后,掌握常用的基础操作是必不可少的。以下列出 Redis 7 中最常用、最核心的基础命令。

1. 键(Key)操作

命令 说明 示例
SET key value 设置键值对 SET username alice
GET key 获取键的值 GET username
DEL key 删除键 DEL username
EXISTS key 检查键是否存在 EXISTS username
EXPIRE key seconds 设置键的过期时间(秒) EXPIRE session 3600
TTL key 查看键的剩余过期时间 TTL session
KEYS pattern 查找匹配模式的键(生产环境慎用) KEYS user*
SCAN cursor 迭代遍历键(推荐替代 KEYS) SCAN 0

⚠️ 注意KEYS 命令在生产环境中处理大数据量时会阻塞 Redis 服务,建议使用 SCAN 命令替代。

2. 数据库操作

Redis 默认有 16 个数据库(编号 0-15)。

命令 说明 示例
SELECT index 切换数据库 SELECT 1
DBSIZE 查看当前数据库的键数量 DBSIZE
FLUSHDB 清空当前数据库 FLUSHDB
FLUSHALL 清空所有数据库 FLUSHALL

3. 字符串(String)操作

String 是 Redis 中最基本的数据类型。

命令 说明 示例
SET key value 设置字符串值 SET counter 100
GET key 获取字符串值 GET counter
INCR key 将值递增 1 INCR counter
INCRBY key increment 按指定步长递增 INCRBY counter 10
DECR key 将值递减 1 DECR counter
MSET k1 v1 k2 v2 批量设置多个键 MSET a 1 b 2
MGET k1 k2 批量获取多个键 MGET a b

4. 哈希(Hash)操作

Hash 适合存储对象类型的数据。

命令 说明 示例
HSET key field value 设置哈希字段 HSET user:1001 name alice
HGET key field 获取哈希字段 HGET user:1001 name
HGETALL key 获取所有字段和值 HGETALL user:1001
HDEL key field 删除哈希字段 HDEL user:1001 age
HEXISTS key field 检查字段是否存在 HEXISTS user:1001 name

5. 列表(List)操作

List 是有序的字符串列表,适合实现队列和栈。

命令 说明 示例
LPUSH key value 从左侧插入元素 LPUSH queue task1
RPUSH key value 从右侧插入元素 RPUSH queue task2
LPOP key 从左侧弹出元素 LPOP queue
RPOP key 从右侧弹出元素 RPOP queue
LRANGE key start stop 获取指定范围的元素 LRANGE queue 0 -1
LLEN key 获取列表长度 LLEN queue

6. 集合(Set)操作

Set 是无序的、元素唯一的集合。

命令 说明 示例
SADD key member 添加元素到集合 SADD tags redis
SMEMBERS key 获取集合所有元素 SMEMBERS tags
SISMEMBER key member 检查元素是否存在 SISMEMBER tags redis
SREM key member 删除集合元素 SREM tags mysql
SUNION k1 k2 返回多个集合的并集 SUNION set1 set2

7. 有序集合(Sorted Set)操作

Sorted Set 中的每个元素都关联一个分数(score),按分数排序。

命令 说明 示例
ZADD key score member 添加元素及分数 ZADD rank 100 alice
ZRANGE key start stop 按分数升序获取元素 ZRANGE rank 0 -1
ZREVRANGE key start stop 按分数降序获取元素 ZREVRANGE rank 0 -1
ZSCORE key member 获取元素的分数 ZSCORE rank alice
ZRANK key member 获取元素的排名 ZRANK rank alice

8. 服务管理命令

命令 说明 示例
PING 测试与服务器的连接 PING(返回 PONG)
INFO 查看服务器信息 INFO
CONFIG GET parameter 获取配置参数 CONFIG GET maxmemory
CONFIG SET parameter value 动态设置配置参数 CONFIG SET maxmemory 2gb
SHUTDOWN 关闭 Redis 服务 SHUTDOWN

六、Redis进阶操作

掌握基础操作之后,Linux安装Redis7 的生产环境部署还需要了解以下进阶内容。

1. 主从复制(Master-Slave Replication)

主从复制是实现 Redis 高可用的基础。通过配置从节点(Slave)复制主节点(Master)的数据,可以实现读写分离和数据冗余。

配置从节点:在从节点的 redis.conf 中添加:

replicaof <master_ip> <master_port>

例如:

replicaof 192.168.1.100 6379

查看复制状态

redis-cli INFO replication

2. 哨兵模式(Sentinel)

哨兵模式在主从复制的基础上增加了自动故障转移能力。当主节点宕机时,哨兵会自动从从节点中选举出新的主节点。

哨兵配置文件 sentinel.conf 示例

# 监控主节点,quorum 表示至少需要几个哨兵同意才能判定主节点下线
sentinel monitor mymaster 192.168.1.100 6379 2

# 主节点失联多少毫秒后判定为下线
sentinel down-after-milliseconds mymaster 30000

# 故障转移超时时间
sentinel failover-timeout mymaster 180000

启动哨兵

redis-sentinel /path/to/sentinel.conf &

3. 集群模式(Cluster)

Redis Cluster 是 Redis 官方提供的分布式解决方案,支持数据自动分片(sharding)和水平扩展。

集群特点

  • 数据自动分布在多个节点上
  • 支持在线水平扩展
  • 部分节点故障时集群仍可用
  • 官方推荐最小集群规模为 3 主 3 从(6 个节点)

创建集群(以 6 个节点为例):

redis-cli --cluster create \
  192.168.1.101:6379 192.168.1.102:6379 192.168.1.103:6379 \
  192.168.1.104:6379 192.168.1.105:6379 192.168.1.106:6379 \
  --cluster-replicas 1

4. 持久化机制

Redis 提供两种持久化方式,确保数据在重启后不丢失。

RDB(Redis Database) :定期生成数据快照,保存为二进制文件。适合备份和灾难恢复。

# redis.conf 中的 RDB 配置
save 900 1      # 900 秒内至少 1 个键变化则触发快照
save 300 10     # 300 秒内至少 10 个键变化则触发快照
save 60 10000   # 60 秒内至少 10000 个键变化则触发快照

AOF(Append Only File) :记录每条写操作命令,以追加方式写入日志文件。数据安全性更高。

# redis.conf 中的 AOF 配置
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec   # 每秒同步一次

💡 生产环境建议:同时开启 RDB 和 AOF,结合两者的优势——RDB 用于快速恢复,AOF 保证数据完整性。

5. 内存管理

合理配置 Redis 内存是生产环境的关键。

# 设置最大内存(建议预留 20%-30% 系统内存)
maxmemory 4gb

# 设置内存淘汰策略
maxmemory-policy allkeys-lru

常用淘汰策略

  • noeviction:内存满时拒绝写入(默认)
  • allkeys-lru:从所有键中淘汰最近最少使用的
  • volatile-lru:从设置了过期时间的键中淘汰最近最少使用的
  • allkeys-random:随机淘汰
  • volatile-ttl:淘汰剩余存活时间最短的

6. 多线程 IO(Redis 7 新特性)

Redis 7.0 开始支持多线程 IO,将网络读写操作从主线程中分离出来,显著提升性能。

# redis.conf 中开启多线程 IO
io-threads 4
io-threads-do-reads yes

⚠️ 注意io-threads 的值一般建议设置为 CPU 核心数,不宜过大。

七、Redis配置详解(redis.conf)

redis.conf 是 Redis 的核心配置文件,以下对常用配置项进行详细说明。

1. 网络配置

配置项 说明 默认值 示例
bind 绑定的 IP 地址 127.0.0.1 bind 0.0.0.0(允许所有 IP 访问)
port 监听端口 6379 port 6379
protected-mode 保护模式 yes protected-mode yes
timeout 客户端空闲超时(秒),0 表示不超时 0 timeout 300
tcp-keepalive TCP 保活检测间隔(秒) 300 tcp-keepalive 60

2. 通用配置

配置项 说明 默认值 示例
daemonize 是否以守护进程方式运行 no daemonize yes
pidfile PID 文件路径 /var/run/redis.pid pidfile /var/run/redis_6379.pid
loglevel 日志级别 notice loglevel verbose
logfile 日志文件路径 ""(输出到标准输出) logfile /var/log/redis/redis.log
databases 数据库数量 16 databases 16

3. 持久化配置

配置项 说明 默认值 示例
save RDB 快照触发条件 save 3600 1 300 100 60 10000 save 900 1
stop-writes-on-bgsave-error 快照失败时是否停止写入 yes stop-writes-on-bgsave-error no
rdbcompression 是否压缩 RDB 文件 yes rdbcompression yes
dbfilename RDB 文件名 dump.rdb dbfilename dump.rdb
dir 数据文件目录 ./ dir /var/lib/redis
appendonly 是否开启 AOF no appendonly yes
appendfilename AOF 文件名 appendonly.aof appendfilename appendonly.aof
appendfsync AOF 同步策略 everysec appendfsync everysec

📌 AOF 同步策略说明

  • always:每次写入都同步,最安全但性能最差
  • everysec:每秒同步一次,性能与安全的平衡(推荐)
  • no:由操作系统决定何时同步,性能最好但可能丢失数据

4. 内存配置

配置项 说明 默认值 示例
maxmemory 最大内存限制 0(无限制) maxmemory 4gb
maxmemory-policy 内存淘汰策略 noeviction maxmemory-policy allkeys-lru
maxmemory-samples LRU 采样数量 5 maxmemory-samples 10

5. 安全配置

配置项 说明 默认值 示例
requirepass 访问密码 ""(无密码) requirepass your_strong_password
rename-command 重命名危险命令 rename-command FLUSHALL ""

⚠️ 安全提示:生产环境务必设置 requirepass 强密码,并考虑重命名或禁用 FLUSHALLFLUSHDBCONFIG 等危险命令。

6. 多线程 IO 配置(Redis 7)

配置项 说明 默认值 示例
io-threads IO 线程数 1 io-threads 4
io-threads-do-reads 是否启用 IO 线程读 no io-threads-do-reads yes

结语

至此,你已经完整掌握了在 Rocky Linux 9 上通过源码编译方式进行 Linux安装Redis7 的全部流程。从安装包下载、编译安装、环境配置,到服务启动和基础验证,每一步都经过实践检验。

回顾一下我们完成的内容:

  • ✅ Redis 7.4.9 源码编译安装
  • ✅ 环境变量配置与服务启动
  • ✅ 基础操作命令(String、Hash、List、Set、Sorted Set 等)
  • ✅ 进阶操作(主从复制、哨兵模式、集群模式、持久化、内存管理)
  • ✅ 生产级配置详解(redis.conf 核心参数)

Linux安装Redis7 只是第一步,真正的挑战在于如何根据业务场景合理配置和优化 Redis。建议你在掌握本教程的基础上,进一步深入理解 Redis 的数据结构设计、持久化策略选择、高可用架构规划等进阶话题。

如果在安装或配置过程中遇到任何问题,欢迎在评论区留言交流。祝你在 Redis 的学习和实战之路上越走越远!🚀

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐