[redis]运行redis-check-rdb检测rdb文件,报错无效的对象

2023-12-08 500 views
2

怎么解决这个问题,redis版本是3.2.1,正常导出rdb文件,但是导出后运行redis-check-rdb测试刚刚导出的这个文件会出现这个错误:

[offset 0] Checking RDB file dump.rdb [offset 26] AUX FIELD redis-ver = '3.2.1' [offset 40] AUX FIELD redis-bits = '64' [offset 52] AUX FIELD ctime = '1687745710' [offset 67] AUX FIELD used-mem = '199983488' [offset 69] Selecting DB ID 0 --- RDB ERROR DETECTED --- [offset 23632] Invalid object type: 22 [additional info] While doing: read-type [info] 96 keys read [info] 0 expires [info] 0 already expired

日志: Internal error in RDB reading function at rdb.c:1840 -> Unknown RDB encoding type 22

回答

1

看起来你的 RDB 文件已损坏(类型 22 不存在,即使在最新版本的 redis 中也是如此)。您使用的(非常旧的)版本也有可能存在错误,因此我建议尝试较新的版本。ps“导出”是什么意思?你能描述一下你是如何生成该文件的吗?

9

版本太旧了....