CentOS环境下Redis版本升级注意事项
升级前必须备份所有关键数据,避免操作失误导致数据丢失。具体操作包括:
cp /etc/redis/redis.conf /etc/redis/redis.conf.bak(若配置文件路径不同,需调整);cp -r /var/lib/redis /var/lib/redis.bak(默认数据目录,可通过redis.conf中的dir参数确认);redis-cli --rdb > backup.rdb(可选,用于快速恢复)。sudo yum install epel-release),再启用Remi’s Redis模块(sudo yum-config-manager --enable remi-redis),最后执行sudo yum update redis即可完成升级。sudo yum remove redis)、安装依赖(sudo yum install -y gcc make tcl)、下载源码(wget http://download.redis.io/releases/redis-<version>.tar.gz)、编译安装(tar xzf redis-<version>.tar.gz && cd redis-<version> && make && sudo make install)。手动编译需注意调整编译选项(如--prefix指定安装路径),确保与系统环境兼容。升级后需迁移并调整配置文件,确保新版本功能正常启用:
redis.conf复制到/etc/redis/(或原配置路径);daemonize no改为daemonize yes;bind 127.0.0.1改为bind 0.0.0.0(需配合防火墙设置);requirepass your_password(替换为强密码);maxmemory-policy),需根据业务需求调整(如allkeys-lru用于淘汰最近最少使用的键)。若使用Redis集群,需逐节点升级以保证服务连续性:
redis-cli shutdown关闭旧版本;启动新版本(指定更新后的配置文件,如redis-server /etc/redis/redis.conf);等待节点同步完成(通过redis-cli -c -h <host> -p <port> info replication确认role:slave且master_link_status:up);redis-cli slaveof <new-master-ip> <new-master-port>),再按照Slave节点步骤升级Master。集群升级需确保每个卡槽的Master与Slave版本一致,避免跨大版本导致数据同步失败。升级完成后,需全面验证Redis运行状态:
redis-server --version(确认输出为新版本号);sudo systemctl status redis(确保状态为active (running));redis-cli ping(返回PONG表示连接正常)、set test_key test_value(写入数据)、get test_key(读取数据,确认数据未丢失);redis-cli -c -h <host> -p <port> cluster nodes(确认所有节点状态为connected,且槽位分配正常);redis-cli info stats查看QPS、延迟等指标,确认性能无明显下降。tcl.h not found等错误,需安装对应依赖(sudo yum install -y tcl);redis.conf中的port参数,并开放防火墙端口(sudo firewall-cmd --permanent --zone=public --add-port=<new-port>/tcp && sudo firewall-cmd --reload);chown -R redis:redis /var/lib/redis)或回滚到旧版本(恢复备份的配置文件与数据目录)。