Redis通过复制rdb文件方式同步线上数据到本地以及提示:Can‘t handle RDB format version 9解决

场景

Redis的持久化机制-RDB方式和AOF方式:

Redis的持久化机制-RDB方式和AOF方式_rdb 和ao-CSDN博客

Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭:

Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭_霸道流氓气质的博客-CSDN博客

以上对于redis持久化rdb的相关介绍。

如果需要获取线上redis中所有数据到本地进行调试用,可以将线上redis的rdb文件下载到本地,并在本地

使用相同的配置文件以及redis的版本,启动后就可获取到线上一样的数据。

注:

博客:
霸道流氓气质_C#,架构之路,SpringBoot-CSDN博客

实现

但是在按照以上流程在本地复现数据时,启动redis-server时提示

Can't handle RDB format version 9

Fatal error loading the DB:Invalid argument.Exiting

这是因为线上的redis版本为5.0,而本地的redis为3.2,所以在本地下载同样版本的redis即可。

windows上下载redis5.0地址

Releases · tporadowski/redis · GitHub

下载zip并解压,将rdb文件复制进来即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Redis是一个开源的内存数据存储系统,可以用作数据库缓存和消息队列等。它支持多种数据结构,如字符串、列表、哈希、集合和有序集合等。 在Redis中,RDB文件是一种持久化的方式,用于将内存中的数据保存到硬盘中。当我们使用RDB文件进行启动时,Redis会将RDB文件加载到内存中,从而恢复原来的数据状态。 RDB文件是通过Redis快照功能生成的,可以通过执行SAVE或BGSAVE命令手动创建RDB文件,也可以根据配置文件中设置的自动快照触发条件周期性地创建RDB文件。 当我们通过RDB文件启动Redis时,首先需要将RDB文件放在Redis的工作目录下。然后,在启动Redis时,可以通过命令行的方式指定RDB文件的路径,例如: redis-server /path/to/redis.conf --dir /path/to/rdb/file 这样,Redis就会加载RDB文件,并将其中的数据恢复到内存中。启动完成后,Redis将可以使用之前保存在RDB文件中的数据。 通过RDB文件启动Redis的优点是恢复速度快,因为RDB文件保存了Redis的快照,加载RDB文件只需要将文件中的数据读取到内存中即可。同时,RDB文件的大小相对较小,占用的磁盘空间较少。 需要注意的是,使用RDB文件进行启动时,最好先备份好最新的RDB文件,以免数据丢失。另外,RDB文件只保存了快照时刻的数据,因此如果在最新RDB文件生成之后有新数据写入,这部分数据是无法恢复的。为了避免数据丢失,还可以将AOF日志功能与RDB文件一起使用,将数据的修改操作追加到AOF日志文件中,确保数据的持久性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值