我有一个与几个外部API交互的网页,为了加快速度(速度增加几乎是线性的,因为大部分时间花在等待http响应等),代码是线程化的,所以它一次从多个API中提取内容。
问题是,我正在遇到数据库锁定,大概是因为来自apis的数据被多个线程同时写入数据库。
如何消除此问题?
PS - 请不要建议顺序进行api调用...当多个用户同时导入数据时会出现同样的问题,除了没有线程,每个人都会慢一些。我们谈论的是15秒到几分钟之间的差异。
答案 0 :(得分:3)
绝对不要尝试使用SQLite:它的主要缺点是并发性。
如果MySQL显示同样的问题,那么你应该一起收集所有数据,然后从一个线程中写出来。