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