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

相关推荐
阿猿收手吧!7 分钟前
【Redis】Redis入门以及什么是分布式系统{Redis引入+分布式系统介绍}
数据库·redis·缓存
奈葵10 分钟前
Spring Boot/MVC
java·数据库·spring boot
落霞的思绪11 分钟前
Redis实战(黑马点评)——涉及session、redis存储验证码,双拦截器处理请求
spring boot·redis·缓存
leegong2311119 分钟前
Oracle、PostgreSQL该学哪一个?
数据库·postgresql·oracle
中东大鹅24 分钟前
MongoDB基本操作
数据库·分布式·mongodb·hbase
夜光小兔纸1 小时前
Oracle 普通用户连接hang住处理方法
运维·数据库·oracle
Sunny_lxm1 小时前
<keep-alive> <component ></component> </keep-alive>缓存的组件实现组件,实现组件切换时每次都执行指定方法
前端·缓存·component·active
兩尛2 小时前
订单状态定时处理、来单提醒和客户催单(day10)
java·前端·数据库
web2u2 小时前
MySQL 中如何进行 SQL 调优?
java·数据库·后端·sql·mysql·缓存
问道飞鱼3 小时前
【Springboot知识】Springboot结合redis实现分布式锁
spring boot·redis·分布式