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

标签: 技术 AOF Redis | 发表时间:2014-09-14 10:55 | 作者:丕子
出处:http://www.zhizhihu.com

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)
无觅

相关 [redis 文件 异常] 推荐:

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

- - 丕子
上线了Redis的模块,昨天Redis Server重启了,但是Redis Instance起不来了,同学联系我,我也不知道具体情况,就猜了几个原因:1、持久化文件可能太大,没load完,所以短时间内启动不了.  2、主从配置文件被sentinel修改乱了. 最后查了下原因,是由于机房突然断电导致redis aof持久化文件写入异常,这个问题详见: link.

一个 redis 异常访问引发 oom 的案例分析

- - mindwind
「推断的前提是以事实为依据. 这两天碰到一个线上系统的偶尔出现突然堆内存暴涨,这倒不是个什么疑难杂症, 只是过程中有些思路觉得可以借鉴参考,故总结下并写下来. 内存情况可以看看下面这张监控图. 一天偶尔出现几次,持续时间一般几分钟不等. 当这种情况出现时,我们检查错误日志,发现有下面两几种 OOM 错误.

[转]缓存大量小文件?Redis是首选!

- - 小鸥的博客
现在有3KW的数据,单条数据都很小的,如果按key-value来看的话,key就是32位的MD5字符串,value按平均算大概是100字节左右. 现在需要将这些数据做缓存以在高并发的时候依然可以快速响应. 因为这些数据基本没有冷热数据之分,所以需要将全部数据都放到缓存中. 1、直接生成静态文件,利用nginx对静态文件的高效做静态缓存.

Redis 负载监控——redis-monitor

- - ITeye资讯频道
redis-monitor是一个Web可视化的 redis 监控程序. 使用 Flask 来开发的,代码结构非常简单,适合移植到公司内网使用. redis 服务器信息,包括 redis 版本、上线时间、 os 系统信息等等. 实时的消息处理信息,例如处理 command 数量、连接总数量等. 内存占用、 cpu 消耗实时动态图表.

Redis 起步

- - 博客园_首页
Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章:. Redis是一个key-value存储系统. 和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型.

redis 配置

- - 谁主沉浮
# 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写). # 内存配置大小写是一样的.比如 1gb 1Gb 1GB 1gB. # daemonize no 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes. # 当redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址.

Cassandra代替Redis?

- - Tim[后端技术]
最近用Cassandra的又逐渐多了,除了之前的360案例,在月初的QCon Shanghai 2013 篱笆网也介绍了其使用案例. 而这篇 百万用户时尚分享网站feed系统扩展实践文章则提到了Fashiolista和Instagram从Redis迁移到Cassandra的案例. 考虑到到目前仍然有不少网友在讨论Redis的用法问题,Redis是一个数据库、内存、还是Key value store?以及Redis和memcache在实际场景的抉择问题,因此简单谈下相关区别.

redis 部署

- - CSDN博客云计算推荐文章
一、单机部署 tar xvf redis-2.6.16.tar.gz cd redis-2.6.16 make make PREFIX=/usr/local/redis install  #指定安装目录为/usr/local/redis,默认安装安装到/usr/local/bin. # chkconfig: 2345 80 10       #添加redhat系列操作系统平台,开机启动需求项(运行级别,开机时服务启动顺序、关机时服务关闭顺序) # description:  Starts, stops redis server.

nagios 监控redis

- - C1G军火库
下载check_redis.pl. OK: REDIS 2.6.12 on 192.168.0.130:6379 has 1 databases (db0) with 49801 keys, up 3 days 14 hours - connected_clients is 1, blocked_clients is 0 | connected_clients=1 blocked_clients=0.

转 redis vs memcached

- - 数据库 - ITeye博客
传统MySQL+ Memcached架构遇到的问题.   实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:.   1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间.