首页 文章

Redis - AOF持久性

提问于
浏览
0

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

  • 根本没有fsync
    每秒
  • fsync
    每个查询都
  • fsync

我不希望在每个查询中都使用fsync,因为在文档中它说它非常慢 . 但我的部分数据至关重要,我不能失去它 . 是否可以使用每秒执行fsync的策略,但显式调用给定命令的fsync,以确保它是持久存储在磁盘上?

1 回答

  • 2

    轻微澄清:当与 always 策略一起使用时,仅在 write 查询后才会写入AOF .

    没有标准的方法或策略可以做到这一点,但你可以通过在事务中包装"crucial writes"并调用 CONFIG SET 来解决这个问题,即:

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

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

相关问题