Redis Replication:奴隶是否从快照中读取?

时间:2017-04-10 11:56:11

标签: redis

我有一个带有标记和多个从属的redis设置,每个从属以及主持久写入快照文件。

当我重新启动系统时,每个从属设备的实例中的密钥多于主设备(但密钥少于其快照文件中的密钥),我不明白为什么?

1)我的问题是,奴隶是否在启动时读取了快照文件,或者只是与主人同步?

2)我从不复制我的快照文件,这是否会导致覆盖问题?

3)如果我有EXPIRATION键,是否在相应的时间从快照文件中删除了?

1 个答案:

答案 0 :(得分:3)

  

1)我的问题是,奴隶是否在启动时读取了快照文件,或者只是与主人同步?

当从属设备重新启动时,如果没有RDB文件,它会从磁盘加载快照(AOF)文件。

  

2)我从不复制我的快照文件,这是否会导致覆盖问题?

它与复制无关。

  

3)如果我有EXPIRATION键,是否在相应的时间从快照文件中删除了这些键?

当Redis加载RDB文件时,如果密钥已过期,Redis会将密钥值添加到dict并设置该密钥的到期时间。无论密钥是否已经过期(密钥将在以后删除)。

  

当我重新启动系统时,每个从属设备的实例中的密钥多于主设备

在关闭之前,从属设备可能未与主设备完全同步,并且某些密钥已从主设备中删除。与主服务器重新同步后,这些密钥将从从服务器中删除。