修改redis源码,实现aof文件的自动拆分
来源:互联网 发布:ubuntu设置dns 编辑:程序博客网 时间:2024/05/05 20:51
我们知道redis的持久化有两种,一种是rdb,一种是aof,而redis的复制也是基于持久化的方式进行的
但是这两种方式都有一些问题
1.rdb方式,如果数据量比较大,那简直可以说是对你服务器做压力测试了,无论cpu,内存,还是磁盘,都是巨大压力,如果这个时候slave再需要进行同步,你的网络估计也要hlod不住了,所以这种持久化策略是极不靠谱的
2.aof方式,这种策略相对缓和一些,有点像mysql的binlog,但是依然有一个问题,为了防止文件过大,会发生rewrite,这个rewrite的效果虽然比不上rdb,但是对服务器的稳定也是非常不利的
既然,aof出现rewrite是为了防止文件过大(当然还有合并命令的考虑),那为什么我们不能参考下常见日志处理方式,进行日志的拆分呢,顺着这个思路,我改下了下redis的源码,使之支持了aof文件根据时间的拆分,这样会不会出现文件过大的问题了.
代码路径: https://github.com/hongliuliao/redis
配置方式: 在redis.conf文件中,配置 aof_shift_interval 5 (单位是秒)
但是这样也会导致一个问题,就是redis在启动的时候,会通过执行aof文件进行数据恢复,所以,如果重启了,需要在启动之前把aof文件删除掉,
实现这个功能主要是为了配合simple_flow进行数据复制使用的,最终也是为了保证系统稳定的情况下,能进行高效,可靠的复制工作
0 0
- 修改redis源码,实现aof文件的自动拆分
- REDIS AOF的实现
- REDIS的AOF实现
- 结合redis设计与实现的redis源码学习-13-AOF持久化(aof.c/bio.h)
- redis aof持久化的源码分析
- Redis源码分析:AOF
- Redis源码学习-AOF
- Redis源码分析:AOF
- Redis的AOF持久化的实现
- 【Redis】redis的AOF
- redis AOF文件过大
- redis dump.rdb appendonly.aof 文件路径修改
- Redis dump.rdb appendonly.aof 文件路径修改
- 《Redis源码学习笔记》AOF
- Redis的AOF功能
- Redis的AOF功能
- Redis的AOF功能
- Redis的AOF功能
- [leetcode]ZigZag Conversion
- 第14周项目2-带姓名的成绩单(3、加入文件操作)
- [蓝桥杯][java]信用卡号验证问题
- Mongoose 基本功能使用
- n位数字
- 修改redis源码,实现aof文件的自动拆分
- timer
- 在Windows上安装NumPy、Matplotlib、SciPy和IPytho
- Opcode Map 操作码映射表阅读指南
- 人品计算机
- [leetcode]4Sum
- 从文件中读入数据
- 关于firefox中一些问题的解决方案
- printf输出格式