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

相关推荐
win x21 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
程序员萌萌1 天前
Redis的缓存机制和淘汰策略详解
数据库·redis·缓存机制·淘汰策略
深蓝电商API1 天前
Redis在海淘场景下的缓存策略设计
数据库·redis·缓存·海淘
杰克尼1 天前
redis(day04-达人探店)
数据库·redis·缓存
Chasing Aurora1 天前
整理常用的开发工具使用问题和小贴士(二)——软件和浏览器
redis·python·mysql·maven
停水咋洗澡1 天前
Redis Sentinel高可用实战:主从自动故障转移
java·redis·sentinel
等....1 天前
Redis使用
数据库·redis·mybatis
一只小bit1 天前
Redis 初步入门教程:简单介绍和安装配置
数据库·redis·缓存
架构师老Y1 天前
012、缓存架构设计:Redis高级应用与优化
redis·python·架构
刘~浪地球1 天前
数据库与缓存--Redis 集群架构与优化
数据库·redis·缓存