Redis持久化文件异常原因以及修复方法

Redis持久化文件异常原因以及修复方法_第1张图片

上线了Redis的模块,昨天Redis Server重启了,但是Redis Instance起不来了,同学联系我,我也不知道具体情况,就猜了几个原因:1、持久化文件可能太大,没load完,所以短时间内启动不了?  2、主从配置文件被sentinel修改乱了?

最后查了下原因,是由于机房突然断电导致redis aof持久化文件写入异常,这个问题详见: link。

简单来说,aof持久化文件中的内容都是以apend形式存储的redis commands。例如:


SET "P" 0

SET

第二条SET没有写完,这样redis instance启动的时候检查到aof文件异常,并且为了保证数据强一致性,会决绝载入aof文件,当然也不会提供服务了。

Redis提供的工具redis-check-aof可以检查并且帮助用户修复持久化文件,例如,将上面的第二条SET命令直接丢弃了。

所以,以后若碰到突然断电、磁盘写满等带来的redis启动失败问题的时候,如果用的aof持久化方式,可以检查下aof文件是否有异常。

您可能也喜欢:
Redis持久化文件异常原因以及修复方法_第2张图片
Redis集群增删节点的数据迁移问题
Redis持久化文件异常原因以及修复方法_第3张图片
一个Redis监控dashboard
Redis持久化文件异常原因以及修复方法_第4张图片
Redis在新浪微博中的应用
Redis持久化文件异常原因以及修复方法_第5张图片
TFS(Taobao File System)-淘宝文件系统
Redis持久化文件异常原因以及修复方法_第6张图片
Redis Cluster的安装和配置(beta-6)
无觅

你可能感兴趣的:(redis,技术,AOF)