结构不同先讲MySQL,MySQL中一个事务提交之后就永久写入了,同时将事务的操作写入日志。然后,slave从master中请求日志,复制这个事务的操作(注意不是sql语句)。而Redis的主从同步和数据快照有关,Redis定期将内存中数据作快照保存在文件中,mater只要将文件发送给slave更新就可以了。MySQL的slave需要请求从从某个事务(就是slave刚完成的那个)开始的所有日志,而redis不需要,slave只要将收到的快照排队,一个一个复制到硬盘、内存就行了。