【问题标题】:Does redis persistence blocks read and write requestredis持久化是否阻塞读写请求
【发布时间】:2014-03-28 06:23:28
【问题描述】:

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

【问题讨论】:

    标签: caching redis


    【解决方案1】:

    如果您发出BGSAVE,后台保存将分叉。操作系统当然需要有一个可用的惰性独立 CPU 线程,以免影响 Redis-server 的主线程。如果你在redis.conf中配置save,一个BGSAVE基本上就是这样。我会将其配置为关闭并在故障排除时手动发出 BGSAVE。

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

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

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

    希望这有帮助,TW

    【讨论】:

      猜你喜欢
      • 2012-07-19
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多