配置Redis slave以停止将数据保存到文件

时间:2012-04-01 13:52:52

标签: redis dump slave

我可以配置Redis slave来停止保存转储吗?我已经在配置文件中省略了所有save指令,但奴隶仍在进行转储。

2 个答案:

答案 0 :(得分:10)

所以我假设您已经检查了从站的配置文件中RDB被取消激活(所有保存行已注释掉),并且在配置文件更改后已重新启动从站(因此此配置处于活动状态)。 / p>

此时,从站的后台转储操作已停用,但它不会阻止从站写入转储文件。实际上,slave 必须在启动时写入转储文件:这是它以批量模式从主服务器检索数据的方式。

当从站启动时,它会向主站发送SYNC请求:

  • 主人开始累积Redis命令。
  • 主人执行后台转储
  • 主服务器以批量模式将转储文件发送给从服务器
  • 从站从主站读取转储文件并将其写入磁盘
  • 完成后,从站从磁盘加载转储文件
  • 从站开始处理主站累积的Redis命令
  • 最终,奴隶会赶上
  • 奴隶与主人同步

这就是为什么你可以在slave端找到转储文件的原因,即使为从属设备停用RDB也是如此。

答案 1 :(得分:0)

好的阅读是http://redis.io/topics/persistence

Redis有2种持久性,你也应该禁用AOF:

  

仅附加文件

     

快照不是很耐用。如果您的计算机运行Redis   停止,你的电源线发生故障,或者你不小心kill -9你的电源线   例如,在Redis上写的最新数据将丢失。虽然这个   对某些应用程序来说可能不是什么大问题,有用例   完全耐用,在这些情况下,Redis不是一个可行的选择。该   仅附加文件是Redis的另一种完全持久的策略。   它在版本1.1中可用。

     

您可以在配置文件中打开AOF:

appendonly yes
     

从现在开始,每次Redis都会收到更改命令的命令   数据集(例如SET)它会将它附加到AOF。当你重新启动   Redis将重新播放AOF以重建状态。