返回介绍

redis 持久化 AOF

发布于 2023-03-04 21:55:58 字数 1656 浏览 0 评论 0 收藏 0

通过上面两篇文章,我们知道了redis进行持久化方案中,redis提供了两种方式,RDB方式是通过对redis内存中的数据进行快照备份的,由于rdb持久化方案有一个明显的劣势,那就是无法保证数据的一致性,因此官方提供了另外一种持久化方式进行补充,那就是AOF持久化方式。

AOF:Append-only file,通过字面意思它是一个追加(append)文件,指的是它采用日志的形式记录着redis每个插入更新操作,并追加到文件末尾中。因此这个日志文件保存了所有redis的变更和插入操作,通过日志文件即可完成redis数据库的恢复。正是由于AOF采用日志记录数据,所以它可以完美弥补RDB的缺点。

但是AOF采用日志记录操作,所以AOF文件一般要比rdb快照文件要大很多,而且进行恢复的时间也会比rdb慢些。


开启AOF持久化步骤

1、redis 默认是不开启AOF的,想要打开,需要在redis.conf文件中找到APPEND ONLY MODE配置模块,通过修改相应的参数进行打开AOF持久化,和对AOF做一些其它配置。如下图:

redis持久化_AOF

2、通过上图可以发现,redis AOF的默认配置参数中,AOF持久化是关闭的,需要把它修改为:appendonly yes,才能打开。

appendonly yes

3、指定保存AOF日志的文件名,默认是 appendonly.aof。

appendfilename "appendonly.aof"

4、指定触发日志的更新条件(更新机制),默认配置如下:

# appendfsync always
appendfsync everysec
# appendfsync no

解释说明

always:指的是 同步持久化,每次发送数据的变更或者插入,就会追加写入到日志文件中。这种方式是比较频繁的,虽然是安全系数最高的,但是耗时也是最久的。

everysec:指的是 异步持久化,即每秒异步执行一下变更操作日志的追加插入。这个是官方推荐的方式。

no:不同步。

5、配置重写机制触发机制。

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

解释说明:通过AOF持久化的机制我们可以明显发现,那就是随着redis持续使用,aof日志文件肯定会越来越大。所以redis官方提供了重写机制来讲解这个问题。当日志文件超过配置文件中设定的阀值时,redis就会fork出一个子进程读取内存中的数据,重新写入到一个临时的日志文件当中,然后替换掉旧的AOF文件。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文