redis持久化方式区别?
R
redis集群地址加载顺序?
集群的加载顺序是:从机启动后,向主机发送SYNC命令,主机收到SYNC命令后,通过bgsav
redis增量同步原理?
主从同步原理
当从数据库启动时,它将向主数据库发送同步命令。
主设备收到后,会在后台保存快照,这就是我们所说的RDB持久化。当然保存快照需要时间,redis是单线程的(redis后面也支持多线程,所以我们赢了这里不谈了)。在快照保存过程中,redis接收到的命令会被缓存,快照完成后,缓存的命令和快照会打包发送到从节点,从而保证主从数据库的一致性。
在收到数据库的快照和缓存命令后,这部分数据将被写入硬盘上的临时文件,写入后RDB快照文件将被该文件替换。当然,这个操作不会被阻止,命令可以继续执行。具体原因是fork创建了一个子流程,并使用子流程来完成这些功能。
因为它不会阻塞,在这部分初始化完成后,当主数据库执行命令更改数据时,将被异步地给予slave,这就是我们所说的复制同步阶段。该阶段将贯穿主从同步的全过程,直到主从同步结束,复制同步才会终止。