数据一致性问题

WBOY
Libérer: 2016-09-19 09:16:26
original
1477 Les gens l'ont consulté

在一段代码中,同时对mysql,redis,mongodb进行了操作,怎么能保证这几个数据库之间数据的一致性呢?
比如msyql保存字段A,redis保存字段B,mongodb保存字段C,如何能确保ABC同时成功或者失败

回复内容:

在一段代码中,同时对mysql,redis,mongodb进行了操作,怎么能保证这几个数据库之间数据的一致性呢?
比如msyql保存字段A,redis保存字段B,mongodb保存字段C,如何能确保ABC同时成功或者失败

虽然操作是同时的,但是每个数据库在处理时不一样,并不能保证他们都成功。
可以当三个处理都成功时,才算最终的成功,有一个失败,就当成失败。

这个设定是这样没错?

我想redis跟mysql的事务比较好操作,插入前开启事务mongodb操作成功在一起commit吧,rollback一起rollback

因为涉及到三个类型的数据库,所以应该是没有现成的XA协议,来保证各个数据库的强一致性。所以可以退而求其次,保证最终一致性.
分布式事务1
分布式事务2

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal