redis升级至7.0.15版本

说明:

redis版本升级制约限制:

jdk=1.8, springboot=2.7.18

springboot 内置lettuce=6.1.10.RELEASE, springboot内置的jedis=3.8.0

适配redis的版本为7.0.x. 最新版本为7.0.15.

针对最新版本:7.2.4 使用的RESP3 协议,存在解析失败风险,以及ACL 认证异常。(自测验证能正常使用,未进行大数据量验证)

redis原始版本: 6.2.6

redis可以通过快照进行数据的备份和还原。

服务安装

Docker 安装:

docker run -d --name redis-7.0.15 -p 6379:6379 redis:7.0.15 redis-server /data/redis.conf

linux安装:

创建依赖文件夹

mkdir -p /opt/easy-cloud/redis-7.0.15 /logs && mkdir -p /opt/easy-cloud/redis-src && touch /opt/easy-cloud/redis-7.0.15/logs/redis.log

# 进入安装目录

cd /opt/easy-cloud

# 服务下载

wget https://download.redis.io/releases/redis-7.0.15.tar.gz

# 解压到src目录

tar -zxf redis-7.0.15.tar.gz -C ./redis-src --strip-components 1

# 进入目录:

cd redis-src

# 编译

make

# 安装

make PREFIX=/opt/easy-cloud/redis-7.0.15install

windows安装:

服务升级:

前置备份

进入文件夹 设置redis的密码(如果配置文件内有密码)

export REDISCLI_AUTH=xxxx

cd /opt/easy-cloud

#老版本服务备份

tar -zcvf redis-6.2.6.tar.gz redis-6.2.6/

#新版本配置文件备份

mv redis-7.0.15 /redis.conf redis-7.0.15 /redis.conf.7.0.15.bak

#老版本配置文件覆盖新版本

cp redis-6.2.6/redis.conf redis-7.0.15/redis.conf

#历史服务镜像快照备份

./redis-6.2.6/bin/redis-cli bgsave

生成配置文件默认是根目录的:dump.rdb

新版本启动

进入目录

export REDISCLI_AUTH=xxxx

cd /opt/easy-cloud/redis-7.0.15

停止老服务

/opt/easy-cloud/redis-6.2.6/bin/redis-cli shutdown

复制快照到当前目录

cp ../redis-6.2.6/dump.rdb dump.rdb

#确认配置文件已经替换

cat redis.conf

-- 如果存在appendonly yes 代表通过AOF加载数据,需要先rdb重启,再AOF重启(见备注),

-- 如果存在appendonly no 或缺省,代表rdb加载数据,无需进行本小结的后续步骤。

启动服务

./bin/redis-server ./redis.conf

验证服务是否启动成功

./bin/redis-cli ping

-- 返回PONG代表成功(root代表密码需根据服务进行更换)

查看redis内数据信息

./bin/redis-cli info keyspace

功能验证

  • redis客户端链接,./bin/redis-cli info keyspace

  • 真实项目链接后进行redis操作

版本回退

停止新服务

/opt/easy-cloud/redis-7.0.15/bin/redis-cli shutdown

#进入文件夹

cd /opt/easy-cloud

#解压老版本数据(如果原始文件夹未删除可忽略)

tar -zxvf redis-6.2.6.tar.gz

#启动老服务

cd /redis-6.2.6 ./bin/redis-server ./redis.conf

#验证服务正常启动

./bin/redis-cli info keyspace

#风险点:新版本的快照,老版本加载失败。新版本运行期间数据丢失。

数据删除

rm -rf /opt/easy-cloud/redis-*.tar.gz

rm -rf /opt/easy-cloud/redis-6.2.6

rm -rf /opt/easy-cloud/redis-src

备注

数据恢复失败

查看配置文件的aof配置是否为aof启动。

-- copy快照文件dump.rdb

cp /xxx/dump.rdb dump.rdb

-- 关闭AOF启动服务。

./bin/redis-server ./redis.conf --appendonly no

-- 查看启动日志

cat logs/redis.log |grep RDB

-- 返回字样: Done loading RDB, keys loaded: xxx, keys expired: xxxx.

-- 开启AOF

./bin/redis-cli CONFIG SET appendonly yes

-- 生成快照。

./bin/redis-cli bgsave

-- 关闭服务。

./bin/redis-cli shutdown

相关推荐
摇滚侠5 小时前
Redis 零基础到进阶,Redis 持久化,RDB,AOF,RDB AOF 混合,笔记 28-46
数据库·redis·笔记
叫我龙翔5 小时前
【Redis】从零开始掌握redis --- 认识redis
数据库·redis·缓存
斯普信专业组5 小时前
Redis 持久化及应用场景详解
redis
源代码•宸5 小时前
goframe框架签到系统项目(安装 redis )
服务器·数据库·经验分享·redis·后端·缓存·golang
忍冬行者15 小时前
清理三主三从redis集群的过期key和键值超过10M的key
数据库·redis·缓存
TimberWill15 小时前
使用Redis队列优化内存队列
数据库·redis·缓存
川石课堂软件测试17 小时前
Mysql中触发器使用详详详详详解~
数据库·redis·功能测试·mysql·oracle·单元测试·自动化
gugugu.19 小时前
Redis Set类型完全指南:无序集合的原理与应用
数据库·windows·redis
feathered-feathered20 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试