我有一个带有标记和多个从属的redis设置,每个从属以及主持久写入快照文件。
当我重新启动系统时,每个从属设备的实例中的密钥多于主设备(但密钥少于其快照文件中的密钥),我不明白为什么?
1)我的问题是,奴隶是否在启动时读取了快照文件,或者只是与主人同步?
2)我从不复制我的快照文件,这是否会导致覆盖问题?
3)如果我有EXPIRATION键,是否在相应的时间从快照文件中删除了?
答案 0 :(得分:3)
1)我的问题是,奴隶是否在启动时读取了快照文件,或者只是与主人同步?
当从属设备重新启动时,如果没有RDB
文件,它会从磁盘加载快照(AOF
)文件。
2)我从不复制我的快照文件,这是否会导致覆盖问题?
它与复制无关。
3)如果我有EXPIRATION键,是否在相应的时间从快照文件中删除了这些键?
当Redis加载RDB
文件时,如果密钥已过期,Redis会将密钥值添加到dict并设置该密钥的到期时间。无论密钥是否已经过期(密钥将在以后删除)。
当我重新启动系统时,每个从属设备的实例中的密钥多于主设备
在关闭之前,从属设备可能未与主设备完全同步,并且某些密钥已从主设备中删除。与主服务器重新同步后,这些密钥将从从服务器中删除。