Redis在Ubuntu上的升级流程
redis-cli SAVE(生成RDB快照)或复制/var/lib/redis目录下的AOF文件(若启用了AOF持久化)。redis-server --version或redis-cli --version确认当前Redis版本,明确升级目标(如从6.2升级到7.0)。若当前Redis是通过Ubuntu默认源(apt)安装的,建议先卸载旧版本以清除残留配置:
sudo apt-get remove --purge redis-server # 卸载redis-server及依赖
sudo rm -rf /etc/redis/ /var/lib/redis/ # 删除旧配置文件和数据目录(谨慎操作,提前备份)
编译Redis源码或安装某些功能(如TCL脚本支持)需要提前安装依赖:
sudo apt update
sudo apt install -y build-essential tcl # 编译Redis必需的工具链
若目标版本是Ubuntu官方源支持的稳定版(如Redis 6.x、7.x),可通过apt直接升级,步骤简单且易维护:
sudo apt update # 更新软件包列表
sudo apt install redis-server # 安装最新版本的redis-server
升级完成后,系统会自动保留旧版本的配置文件(若有修改,需手动合并),并通过systemctl管理服务。
若官方源中没有所需版本(如Redis 7.4+),可通过源码编译安装:
# 下载源码(以Redis 7.0.12为例,替换为目标版本)
cd /usr/local/src
sudo wget https://download.redis.io/releases/redis-7.0.12.tar.gz
sudo tar xzvf redis-7.0.12.tar.gz
cd redis-7.0.12
# 编译并安装
sudo make clean # 清理旧编译文件(可选)
sudo make # 编译Redis
sudo make test # 运行测试(可选,验证编译正确性)
sudo make install # 安装Redis到系统目录(默认/usr/local/bin)
sudo mkdir -p /etc/redis # 创建配置文件目录
sudo cp /usr/local/src/redis-7.0.12/redis.conf /etc/redis/ # 复制默认配置
/etc/redis/redis.conf,常见调整项:
daemonize yes(新版本默认开启);bind 127.0.0.1(仅本地访问,生产环境需根据需求调整);save规则(如save 900 1表示900秒内至少1次修改则保存)和appendonly yes(启用AOF);aclfile路径(默认/etc/redis/users.acl)并配置用户权限。sudo systemctl restart redis-server # 重启Redis服务
sudo systemctl enable redis-server # 设置开机自启
sudo systemctl status redis-server # 查看服务运行状态(应为“active (running)”)
redis-server --version # 输出新版本号(如Redis server v=7.0.12)
redis-cli ping # 测试客户端连接(返回“PONG”表示正常)
若升级后出现严重问题(如服务无法启动、数据损坏),可通过以下步骤回滚:
sudo systemctl stop redis-server;/etc/redis/redis.conf和/var/lib/redis/数据复制回原位置;apt指定版本,如sudo apt install redis-server=6:6.2.6-1);sudo systemctl start redis-server。