项目初期是用的mysql,但考虑到一些数据查询更新很频繁,所以上了mongodb。
现在项目快做完了,好多数据都存在mongodb中。
现在有两个问题:
1. 事务保证。
mongodb自身不支持事务,并且有些请求处理会同时更新mongodb和mysql,
所以我现在的做法是 把各种条件全部检测过了, 然后去存mysql和mongodb。
只能默认它们都能save成功。
2. 现在mysql的读取也用redis做了cache,但存还是直接打到mysql上的。
当mysql save完毕后,再自动去更新对应的cache.
我现在想对 mysql save也做缓存,就是save到缓存,然后定时将缓存数据刷入mysql.
问题还是 同时用了两个数据库, mongodb 是直接写入成功的, 万一mysql的更新数据还在缓存中,没写入mysql的时候, server 崩溃重启了,那么 数据就不统一了。
如何处理这些问题?
如果还是保持现状,直接写mysql,先不说性能,问题一还是有风险。
或者全部只用一个数据库???
现在项目快做完了,好多数据都存在mongodb中。
现在有两个问题:
1. 事务保证。
mongodb自身不支持事务,并且有些请求处理会同时更新mongodb和mysql,
所以我现在的做法是 把各种条件全部检测过了, 然后去存mysql和mongodb。
只能默认它们都能save成功。
2. 现在mysql的读取也用redis做了cache,但存还是直接打到mysql上的。
当mysql save完毕后,再自动去更新对应的cache.
我现在想对 mysql save也做缓存,就是save到缓存,然后定时将缓存数据刷入mysql.
问题还是 同时用了两个数据库, mongodb 是直接写入成功的, 万一mysql的更新数据还在缓存中,没写入mysql的时候, server 崩溃重启了,那么 数据就不统一了。
如何处理这些问题?
如果还是保持现状,直接写mysql,先不说性能,问题一还是有风险。
或者全部只用一个数据库???