请问这种业务场景,什么数据库比较合适,或者如何优化此类业务?
业务场景为每插入一张订单,就要关联更新100条数据。
比如插入 100002XX 的订单(订单编号有并发情况,某一时刻可能会有多人插入该编号),每插入一张,在都要更新 10000200 至 10000299 的数据累计+ 1。(实际情况有其他字段的运算)
现在我使用的架构是mysql+redis。在mysql插入一条订单的时候,就添加1个的队列。(为解决数据同步问题,只能使用单进程)把 10000200 至 10000299 的相关字段都保存在redis。把然后使用redis的管道 pipeline 把 10000200 到 10000299 逐个incrBy累加。
但是这样效率不行,若同时有1000个订单入库,这样至少得更新(1000* 100)次redis(单线程),请问这样业务需求,该如何优化?或者有什么数据库能适合这种场景吗?
推荐文章: