redis中RDB和AOF相关配置

  |   0 评论   |   0 浏览

今天给大家讲解下RDB和AOF的配置。

redis的配置文件默认是redis.conf,如果你修改过就找到你修改的文件。

1、RDB配置

save 60 1000

表示每隔60秒,如果有超过1000个key发生了变更,那么就生成一个新的dump.rdb文件,
也可以手动调用save或者bgsave同步,同步或者异步执行rdb快照生成。

save可以配置多个,每到一个时间点,就会检查数据变更是否满足条件,如果满足了,就会生成一个新的dump.rdb文件

2、RDB工作流程

(1)、redis根据配置自己去尝试生成rdb文件;
(2)、fork一个子进程出来;
(3)、子进程尝试将数据dump到临时的rdb快照文件中;
(4)、完成rdb快照文件的生成之后,就替换之前的旧的快照文件;

3、AOF的配置

appendonly yes
默认是关闭的;

appendfsync always
每写入一条数据,立即将这个数据的写日志fsync到磁盘中,性能非常低,吞吐量很低;

appendfsync everysec
每秒将os cache中的数据fsync到磁盘,性能很高,生产环境经常使用这个配置;

appendfsync no
redis数据写入os cache就不管了,os自己会时不时有自己的策略将数据刷入磁盘中,这个就不可控了;

rewrite相关配置

auto-aof-rewrite-percentage 100
rewrite文件大小,跟上一次rewrite的文件大小进行比较,如果超过这个占比,就进行rewrite

auto-aof-rewrite-min-size 64mb
最小rewrite文件大小

举例说明:
如果上次rewrite的时候aof文件大小是 100mb;然后接着在100mb继续写AOF日志,如果发现增长的比例,超过了之前的100%,200mb,就可能会去触发一次rewrite
但是此时还要去跟min-size=64mb去比较,200mb>64mb,才会去触发rewrite

4、AOF破损文件修复

用redis-check-aof --fix 命令来修复

关注公众号,更快获取文章
qrcode_for_gh_685e3b222002_3441jpg

本文为博主原创文章,未经博主允许不得转载。