在一段代码中,同时对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

09-09 03:57