redis持久性是否阻止读写请求

时间:2014-03-27 14:34:44

标签: caching redis

我正在使用redis并在特定时间间隔内将数据保存到磁盘。我通常看到redis的读写时间是.2毫秒的顺序,但我看到几乎没有30毫秒的顺序。我读了redis分支后台进程将数据写入磁盘,在同一个(redis使用单线程来服务所有请求)线程上发生分叉,该线程提供读写请求。 如果这是真的,我想要一个解决方案,使持久性不会增加读写请求的延迟。

1 个答案:

答案 0 :(得分:0)

如果您发出BGSAVE,后台保存将会分叉。操作系统需要有一个懒惰的独立CPU线程,因为这不会影响Redis服务器的主线程。如果在redis.conf中配置save,基本上会发生BGSAVE。我会将其配置为关闭并在排除故障时手动发出BGSAVE。

如果您发出SAVE,则保存将是同步的,其他客户将不得不等待。

另见here。您可能希望完全跳过rdb快照,并依赖于AOF。

另请参阅我对敏感数据的评论:SO comment。有许多方法可以确保您的数据安全。磁盘持久性只是其中之一。

希望这有帮助,TW