Quantcast
Channel: IT社区推荐资讯 - ITIndex.net
Viewing all articles
Browse latest Browse all 15843

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

$
0
0

Jedis: Could not get a resource from the pool相关问题

上线了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集群增删节点的数据迁移问题

一个Redis监控dashboard

Redis在新浪微博中的应用

TFS(Taobao File System)-淘宝文件系统

Redis Cluster的安装和配置(beta-6)
无觅

Viewing all articles
Browse latest Browse all 15843

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>