Redis-AOF持久性

Redis-AOF持久性,redis,nosql,Redis,Nosql,我们可以在Redis文档()中找到,AOF Redis有3个策略: 完全没有fsync 每秒同步 每次查询时进行fsync 我不想在每次查询时都使用fsync,因为文档中说它非常慢。 但我的部分数据至关重要,我不能丢失。是否可以使用每秒执行一次fsync的策略,但对给定的命令显式调用fsync,以确保将其保存在磁盘上?次要澄清:当与始终策略一起使用时,AOF仅在写入查询后写入 没有标准的方法或策略可以做到这一点,但您可以通过在事务中包装“关键写入”和对CONFIG SET的调用来解决这一问题

我们可以在Redis文档()中找到,AOF Redis有3个策略:

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

次要澄清:当与
始终
策略一起使用时,AOF仅在写入查询后写入

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

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

不久前,我在v2.8中测试了这个功能,它似乎可以工作,但YMMV;)

次要澄清:当与
始终
策略一起使用时,AOF仅在写入查询后写入

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

SET key1 "redundant"
MULTI
CONFIG SET appendfsync always
SET key2 "crucial"
CONFIG SET appendfsync everysec
EXEC
SET key3 "transient"
不久前,我在v2.8中测试了这个功能,它似乎可以工作,但YMMV;)