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服务,服务正常

相关推荐
【非典型Coder】22 分钟前
Statement和PreparedStatement区别
数据库
m0_736927041 小时前
想抓PostgreSQL里的慢SQL?pg_stat_statements基础黑匣子和pg_stat_monitor时间窗,谁能帮你更准揪出性能小偷?
java·数据库·sql·postgresql
在云上(oncloudai)1 小时前
Amazon ElastiCache 全解析:打造高性能的智能缓存架构
缓存·架构
lang201509281 小时前
MySQL 8.0.29 及以上版本中 SSL/TLS 会话复用(Session Reuse)
数据库·mysql
Jabes.yang1 小时前
Java面试大作战:从缓存技术到音视频场景的探讨
java·spring boot·redis·缓存·kafka·spring security·oauth2
望获linux2 小时前
【实时Linux实战系列】使用 u-trace 或 a-trace 进行用户态应用剖析
java·linux·前端·网络·数据库·elasticsearch·操作系统
清和与九2 小时前
binLog、redoLog和undoLog的区别
数据库·oracle
望获linux3 小时前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统
总有刁民想爱朕ha3 小时前
Python自动化从入门到实战(24)如何高效的备份mysql数据库,数据备份datadir目录直接复制可行吗?一篇给小白的完全指南
数据库·python·自动化·mysql数据库备份
朝九晚五ฺ3 小时前
【Redis学习】持久化机制(RDB/AOF)
数据库·redis·学习