前言:
线上环境准备用AWS ElastiCache Vallkey缓存8.0+的版本,但是发现测试环境用的还是redis 5.0.7的版本,为了保持环境版本一致,尝试在测试环境不损坏数据的情况对redis版本进行了升级
升级 Redis 到 8.0:完整步骤(源码方式)
不使用 apt,直接用 Redis 官方源码
1.备份数据
如果你启用了 AOF/RDB,需要先备份:
sudo cp /var/lib/redis/dump.rdb ~/redis-backup/
sudo cp /var/lib/redis/appendonly.aof ~/redis-backup/
或根据 redis.conf 中的路径调整。
2.下载并编译 Redis 8.0.1
cd /usr/local/src
sudo apt update && sudo apt install -y build-essential tcl git
sudo git clone https://github.com/redis/redis.git
cd redis
sudo git checkout 8.0.1
make -j$(nproc)
make test # 可选
sudo make install
此时:
redis-server -v
# 应输出:Redis server v=8.0.1
3. 替换原来的 redis-server (备份原二进制)
which redis-server # 比如 /usr/local/bin/redis-server或者/usr/bin/redis-server
sudo mv /usr/local/bin/redis-server /usr/local/bin/redis-server.backup
sudo cp src/redis-server /usr/local/bin/
sudo cp src/redis-cli /usr/local/bin/
4.兼容旧配置
Redis 8 仍兼容 5.0 的配置文件,但建议你对以下新参数做兼容性检查:
- protected-mode
- aclfile(ACL 相关)
- io-threads(I/O 多线程)
- supervised(Systemd 相关)
可以用新版 Redis 提供的配置文件作为参考
cp redis.conf /etc/redis/redis-8.conf
然后对比你旧的配置做适配。
5.启动 Redis 8(用新的的配置文件或者用回原来的配置文件)
redis-server /etc/redis/redis-8.conf
或者
service redis-server restart
然后查看redis服务是否正常启动
验证:
redis-cli
> INFO server
确认版本:
redis_version:8.0.1
6.清理旧版本(非必要)
升级完成后,可选择删除旧的 Redis 编译目录:
sudo rm -rf /usr/local/src/redis
7.升级成功验证
redis-server -v
redis-cli INFO server
确认输出的是:
redis_version:8.0.1
评论区