redis服务没有起来,日志提示“Bad file format reading the append only file”

背景:

放假期间,测试服务器需要关闭,节后来之后重启服务器后,发现redis服务没有启动起来

排查:

查看redis日志,提示"Bad file format reading the append only file。。。。"

分析:

Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。

RDB: 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。

AOF :Redis 默认不开启。它的出现是为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每个写操作,并追加到文件中。Redis 重启的会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作

解决:

1、备份好.aof文件;

2、去bin目录下执行,./redis-check-aof --fix xx.aof

提示:

"Successfully truncated AOF",代表成功

3、重启redis服务,服务正常

相关推荐
羑悻的小杀马特2 小时前
Redis持久化三剑客:RDB二进制快照、AOF文本日志、混合模式如何守护你的数据安全?
数据库·redis·缓存·aof·持久化存储·rdb
小呆爱发呆2 小时前
第三章 MySQL 库表操作
数据库·mysql·adb
时间的拾荒人3 小时前
Redis 进阶实战:渐进式遍历、持久化机制与事务详解
数据库·redis·缓存
普通人64 小时前
MySQL_FIND_IN_SET函数详解
android·数据库·mysql
真上帝的左手4 小时前
4. 关系型数据库-MySQL-Canal 进阶
数据库·mysql·canal
xiaoye-duck4 小时前
《C++ 项目:手写大模型接入 SDK》DataManager数据管理模块:SQLite持久化存储
开发语言·数据库·c++·sqlite
唐老板5 小时前
uuidv7 来了:为什么别再拿 uuidv4 当主键了
数据库
SelectDB18 小时前
让变更流出 Doris:Apache Doris 5.0 基于增量计算的 CDC 技术解析
数据库