美文网首页程序员
Redis rdb文件手动合并

Redis rdb文件手动合并

作者: flairpower | 来源:发表于2018-01-03 11:38 被阅读0次

线上服务使用的阿里云的集群版本redis服务,数据量1千万,rdb文件4GB。

线下测试环境只有单节点redis,需要导入线上全量数据。

8个rdb文件,每个500MB。

RDB格式如下:

头5个字节是字符REDIS。

之后4个字节代表版本号,阿里的版本分别是 00 00 00 06

之后2个字节 FE 00,FE是标识 00是数据库,还好我们只有一个库。

最后的结尾9个字节 。

FF 加上8个字节的CRC64校验码(实在没空弄,后来偷了一个懒) 。

一、生成对应的文件

#文件1 大小566346503,截取尾部的9个字节

dd bs=1 if=src_1.rdb of=1.rdb count=566346494

#文件2 大小570214520,跳过头部的11个字节,再截取尾部的9个字节

#dd bs=1 if=src_2.rdb of=2.rdb skip=11 count=570214400

...

#文件8 大小569253061,跳过头部的11个字节,再截取尾部的8个字节,保留FF。

dd bs=1 if=src_8.rdb of=8.rdb skip=11 count=569253042

二、合并文件

cat 1.rdb > dump.rdb

cat 2.rdb >> dump.rdb

...

cat 8.rdb >> dump.rdb

备份文件合并完毕。

三、检查备份文件

redis-check-rdb dump.rdb 

应该会提示没有crc校验。

四、修改配置文件

因为数据库备份文件里面不包含crc64的校验码,配置文件中关闭选项。

rdbchecksum no

数据恢复到此结束,此方法只适合用于临时恢复和导出数据,数据完整性不敢保证。

参考的文章

https://github.com/sripathikrishnan/redis-rdb-tools/wiki/Redis-RDB-Dump-File-Format

相关文章

  • Redis rdb文件手动合并

    线上服务使用的阿里云的集群版本redis服务,数据量1千万,rdb文件4GB。 线下测试环境只有单节点redis,...

  • redis 的持久化

    RDB持久化 redis的RDB持久话把当前进程数据生成快照(.rdb)文件保存到硬盘的过程。有手动和和自动两种触...

  • redis使用笔记

    redis持久化策略 1、数据文件.rdb 2、更新日志.aof RDB 详解 redis.conf 文件,找到 ...

  • Redis持久化(三)

    Redis持久化方式 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件): RDB持久化方...

  • Redis持久化

    Redis的持久化 Redis的持久化方式有两种:快照(RDB)文件和追加文件(AOF文件) 两种方式。 RDB ...

  • redis持久化模式开启

    一、RDB默认开启:1、配置文件开启RDB:[root@redis-master redis]# vim redi...

  • Redis持久化简述

    RDB持久化 RDB文件的生成和载入 生成RDB文件的命令:SAVE和BGSAVE SAVE命令阻塞Redis进程...

  • Redis持久化

    使用RDB文件恢复数据 步骤一:使用RDB文件恢复数据 RDB介绍: Redis数据库文件,全称Reids Dat...

  • 【redis】redis持久化过程中临时转储文件

    在使用redis时,在dump.rdb 文件同目录下出现了temp-xxx.rdb文件怎么回事? 当redis触发...

  • Redis源码分析--RDB实现源码阅读

    重要说明,在看这篇文章之前,最好先通过剖析Redis RDB文件 了解RDB文件的结构; RDB相关源码在rdb....

网友评论

    本文标题:Redis rdb文件手动合并

    本文链接:https://www.haomeiwen.com/subject/mifhnxtx.html