目錄
- 前言
- 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.repo
和 CentOS-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-server
和 redis-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 根據需要修改配置
建議檢查以下配置項是否適用于新版本:
bind
和port
是否沖突;requirepass
密碼是否仍需要;supervised
、daemonize
等守護進程相關參數;- 日志和數據目錄是否正確。
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 在性能、安全、模塊化支持等方面相比舊版本有顯著提升,建議逐步完成升級,以獲得更好的運維體驗與系統穩定性。