Redis - AOF 持久化

Posted

技术标签:

【中文标题】Redis - AOF 持久化【英文标题】:Redis - AOF persistance 【发布时间】:2016-06-01 12:20:54 【问题描述】:

我们可以在 Redis 文档 (http://redis.io/topics/persistence) 中找到,AOF Redis 有 3 个策略:

完全没有 fsync 每秒同步一次 每次查询时 fsync

我不想在每次查询时都进行 fsync,因为在文档中说它非常慢。 但我的部分数据至关重要,我不能丢失它。是否可以使用每秒执行一次 fsync 的策略,但为给定的命令显式调用 fsync 以确保它保存在磁盘上?

【问题讨论】:

【参考方案1】:

小说明:与always 策略一起使用时,AOF 仅在 write 查询后写入。

没有标准的方法或政策可以做到这一点,但您可以通过在事务中包装您的“关键写入”和对CONFIG SET 的调用来解决此问题,即:

SET key1 "redundant"
MULTI
CONFIG SET appendfsync always
SET key2 "crucial"
CONFIG SET appendfsync everysec
EXEC
SET key3 "transient"

我前段时间在 v2.8 中对此进行了测试,它似乎可以工作,但是 YMMV ;)

【讨论】:

以上是关于Redis - AOF 持久化的主要内容,如果未能解决你的问题,请参考以下文章

Redis持久化--AOF

Redis---- Redis的持久化机制RDB和AOF原理

Redis---- Redis的持久化机制RDB和AOF原理

Redis---- Redis的持久化机制RDB和AOF原理

Redis 详解 AOF 持久化

Redis AOF 持久化方式