redis 和 mysql 数据同步问题

大家都知道,redis和mysql均支持主从数据库。为了使主从数据一致,两者采用的方式略有不同:Redis是master主动把数据发送给slave;Mysql是slave... 大家都知道,redis和mysql均支持主从数据库。为了使主从数据一致,两者采用的方式略有不同:

Redis是master主动把数据发送给slave;

Mysql是slave从master中请求;

问题出来了,为什么会有这种区别,是因为两者结构不同?还是效率不同?
展开
 我来答
zaobao000
2013-05-12 · TA获得超过348个赞
知道小有建树答主
回答量:319
采纳率:100%
帮助的人:232万
展开全部
结构不同
先讲MySQL,MySQL中一个事务提交之后就永久写入了,同时将事务的操作写入日志。然后,slave从master中请求日志,复制这个事务的操作(注意不是sql语句)。
而Redis的主从同步和数据快照有关,Redis定期将内存中数据作快照保存在文件中,mater只要将文件发送给slave更新就可以了。
MySQL的slave需要请求从从某个事务(就是slave刚完成的那个)开始的所有日志,而redis不需要,slave只要将收到的快照排队,一个一个复制到硬盘、内存就行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式