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

相关推荐
飞升不如收破烂~12 分钟前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
森焱森13 分钟前
详解 Spring Boot、Flask、Nginx、Redis、MySQL 的关系与协作
spring boot·redis·python·nginx·flask
茶杯梦轩32 分钟前
从零起步学习Redis || 第七章:Redis持久化方案的实现及底层原理解析(RDB快照与AOF日志)
redis·后端
这周也會开心1 小时前
Redis数据类型的底层实现和数据持久化
数据库·redis·缓存
My LQS2 小时前
使用 Redis Stack 向量索引构建大模型问答缓存系统
redis·缓存·ai
indexsunny14 小时前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
摇滚侠20 小时前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
啦啦啦_999921 小时前
Redis-2-queryFormat()方法
数据库·redis·缓存
forestsea1 天前
深入理解Redisson RLocalCachedMap:本地缓存过期策略全解析
redis·缓存·redisson
佛祖让我来巡山1 天前
Redis 为什么这么快?——「极速快递站」的故事
redis·redis为什么快?