当前位置: 首页 > news >正文

CentOS 7 下 Redis 从 5.0 升级至 7.4.3 全流程实践

目录

  • 前言
  • 1 查看 Redis 运行情况与配置
    • 1.1 查看 Redis 是否正在运行
    • 1.2 连接 Redis 服务并获取配置信息
    • 1.3 查找 redis.conf 配置文件位置
  • 2 关闭旧版本 Redis 实例
    • 2.1 使用客户端命令关闭 Redis
    • 2.2 验证 Redis 是否完全关闭
  • 3 升级 GCC 编译环境
    • 3.1 检查当前 GCC 版本
    • 3.2 安装所需工具及配置软件仓库
    • 3.3 安装并启用 GCC 9 工具集
  • 4 编译安装 Redis 7.4.3
  • 5 配置文件迁移与处理
    • 5.1 备份默认配置文件
    • 5.2 替换为原配置文件
    • 5.3 根据需要修改配置
  • 6 启动 Redis 7.4.3 并验证
    • 6.1 启动 Redis 服务
    • 6.2 查看启动状态
    • 6.3 查看 Redis 当前版本
  • 结语

前言

Redis 是目前使用最广泛的高性能键值数据库之一,广泛应用于缓存、消息队列、实时计数等场景。随着 Redis 版本的不断更新,带来了更高的性能、更丰富的功能和更强的安全性。然而,实际生产环境中,我们常常因为兼容性等原因停留在较旧版本。本文将详细介绍在 CentOS 7 环境下,将 Redis 从 5.0 升级到 7.4.3 的完整流程,涵盖运行状态查看、配置文件处理、GCC 编译环境升级、源码编译安装、以及新版本 Redis 启动验证等步骤,旨在为有类似需求的运维或开发人员提供完整参考。

1 查看 Redis 运行情况与配置

在开始升级之前,首先需要确认旧版本 Redis 的运行状态及其配置信息,确保后续迁移和升级能够顺利进行。
在这里插入图片描述

1.1 查看 Redis 是否正在运行

可以使用 ps 命令配合 grep 查看 Redis 是否已经启动:

ps -ef | grep redis

如果 Redis 正在运行,会显示 redis-server 相关进程信息。

1.2 连接 Redis 服务并获取配置信息

Redis 通常配置了密码和自定义端口,因此需要使用 redis-cli 工具连接:

./redis-cli -p 2021
127.0.0.1:2021> AUTH "330Ue1Kz9WtjcR2h"
OK
127.0.0.1:2021> CONFIG GET *config-file*

通过 CONFIG GET 命令,可以查看 Redis 当前所使用的配置文件路径,以便后续备份和迁移使用。

1.3 查找 redis.conf 配置文件位置

如果无法通过命令查找到配置文件路径,也可以使用 Linux 的 find 命令遍历系统:

find / -name "redis.conf" 2>/dev/null

确认原 Redis 配置文件位置,是升级过程中一个重要环节。

2 关闭旧版本 Redis 实例

在准备部署新版本 Redis 之前,需要先停止旧版本服务,释放端口和资源。

2.1 使用客户端命令关闭 Redis

若 Redis 没有设置密码或已完成认证,可以直接使用 SHUTDOWN 命令关闭:

redis-cli SHUTDOWN

若设置了密码,需要使用 -a 参数进行认证:

redis-cli -a 330Ue1Kz9WtjcR2h SHUTDOWN

若 Redis 使用了自定义端口:

redis-cli -a 330Ue1Kz9WtjcR2h -p 2021 SHUTDOWN

2.2 验证 Redis 是否完全关闭

使用以下命令确认 redis-server 进程是否已退出:

ps aux | grep redis-server

若未显示任何 redis-server 相关信息,说明 Redis 已成功关闭。

3 升级 GCC 编译环境

Redis 7.4.3 源码编译需要 GCC 版本至少为 5,而 CentOS 7 默认提供的 GCC 版本往往较低,因此需手动升级。

3.1 检查当前 GCC 版本

通过命令检查:

gcc -v

如果已是 5.0 或以上版本,可以跳过此步骤;否则继续下列操作。

3.2 安装所需工具及配置软件仓库

安装 yum-utils 工具:

yum install -y yum-utils

编辑 /etc/yum.repos.d/CentOS-SCLo-scl-rh.repoCentOS-SCLo-scl.repo,注释掉 mirrorlist 并添加 baseurl

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
enabled=1
gpgcheck=0

相同处理 centos-sclo-sclo 段。

3.3 安装并启用 GCC 9 工具集

清理缓存并安装开发工具:

yum clean all
yum makecache
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

启用新版 GCC(当前 shell 有效):

scl enable devtoolset-9 bash

设置为永久生效:

echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

4 编译安装 Redis 7.4.3

解压源码包并编译

将下载好的 Redis 安装包解压:

tar -zxvf redis-7.4.3.tar.gz
cd redis-7.4.3

执行编译和安装:

make
make install

此时,redis-serverredis-cli 等执行文件会被安装到系统默认路径中(如 /usr/local/bin)。

5 配置文件迁移与处理

为了兼容原有配置和数据策略,建议复用旧版本 Redis 的配置文件。

5.1 备份默认配置文件

进入 Redis 源码目录:

cd /mnt/redis-7.4.3
cp redis.conf redis.conf_bak

5.2 替换为原配置文件

删除新生成的默认配置文件:

rm redis.conf

复制旧版本 Redis 的配置文件到新目录:

cp /mnt/redis-5.0.3/redis.conf /mnt/redis-7.4.3/redis.conf

5.3 根据需要修改配置

建议检查以下配置项是否适用于新版本:

  • bindport 是否冲突;
  • requirepass 密码是否仍需要;
  • superviseddaemonize 等守护进程相关参数;
  • 日志和数据目录是否正确。

6 启动 Redis 7.4.3 并验证

6.1 启动 Redis 服务

使用配置文件启动 Redis:

/mnt/redis-7.4.3/src/redis-server /mnt/redis-7.4.3/redis.conf

6.2 查看启动状态

通过进程查看命令验证 Redis 是否已成功启动:

ps -ef | grep redis

若输出中包含如下信息,则表示启动成功:

/mnt/redis-7.4.3/src/redis-server *:2021

6.3 查看 Redis 当前版本

执行以下命令,查看 Redis 版本号,确保为 7.4.3:

/mnt/redis-7.4.3/src/redis-server --version

输出示例:

Redis server v=7.4.3 sha=00000000:1 malloc=jemalloc-5.3.0 bits=64 build=828c83d1e8260964

结语

通过以上步骤,我们完成了在 CentOS 7 系统中将 Redis 从 5.0 升级至 7.4.3 的全过程。这一过程不仅涉及软件本身的编译与安装,还包括环境依赖(如 GCC)、配置文件兼容、旧实例安全关闭等关键环节。建议在正式环境升级前,先在测试环境中进行充分验证,并备份好相关配置与数据文件,以确保平稳过渡。

Redis 7.x 在性能、安全、模块化支持等方面相比旧版本有显著提升,建议逐步完成升级,以获得更好的运维体验与系统稳定性。

相关文章:

  • 人工智能模型方面有哪些优化措施,可以提升模型的准确率
  • 嵌入式开发--STM32G431无法正常运行程序,BOOT0与CAN冲突
  • 第五十五节:综合项目实践-实时人脸美化滤镜
  • (独家)SAP WIP生产订单结算报错:没有估算额;不可能结算
  • lto.o
  • 78. Subsets和90. Subsets II
  • Claude 4对比Claude 3.7全面评测:2025最新AI模型实测对比
  • Femap许可证与网络安全策略
  • APP广告变现,开发者如何判断对接的广告SDK安全合规?
  • 注意力机制模块代码
  • windows中Redis、MySQL 和 Elasticsearch启动并正确监听指定端口
  • 实时数仓flick+clickhouse启动命令
  • 聊一聊 .NET Dump 中的 Linux信号机制
  • Spark SQL进阶:解锁大数据处理的新姿势
  • 编程规范Summary
  • C++ STL stack容器使用详解
  • 2025 年江西研究生数学建模竞赛题A题电动汽车充电桩共享优化与电网安全协同模型完整思路 模型代码 结果 成品分享
  • 浙大版《Python 程序设计》题目集6-3,6-4,6-5,6-6列表或元组的数字元素求和及其变式(递归解法)
  • C++11 中引入的`final` 关键字作用。
  • python处理signal(信号)
  • 做网上卖酒的网站有几家/长春网络优化哪个公司在做
  • 在站点上新建网页/百度信息流推广技巧
  • 网上开店如何找货源/惠州百度seo找谁
  • 能登上日本网站的代理服务器/seo职业
  • 河南如何做网站/怎么优化一个网站关键词
  • 傻瓜式建站软件下载/万网域名查询官网