gpt4 book ai didi

database - 获取并保存到数据库——时间与内存

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:57 24 4
gpt4 key购买 nike

假设我有一长串 URL。现在,我需要编写一个脚本来执行以下操作 -

  • 转到每个 URL
  • 获取返回的数据
  • 并将其存储在数据库中

我知道有两种方法 -

  1. 从列表中弹出一个 URL,下载数据并将其保存在数据库中。弹出下一个 URL,下载数据并将其保存在数据库中,然后重复...

这将需要太多的磁盘写入,所以其他方法是

  1. 从每个 URL 下载数据并将其保存到内存中。最后,在一次磁盘写入中将其全部保存到数据库中。

但这需要在内存中承载大量数据。因此,程序可能会因为 OOM 错误而终止。

有没有其他方法,是这些方法之间的某种中间方法?

(特别是,我在 Julia 中编写此脚本并使用 MongoDB )

最佳答案

我们可以通过并发扩展@Trifon 的解决方案。您可以同时运行两个线程:

  1. 一个从 URL 中获取数据并将其存储在 channel 中的线程在内存中。
  2. 从 channel 读取数据并将数据写入磁盘的线程。

确保 channel 有一定的容量限制,这样线程 1 就会被阻塞,以防线程 2 没有消耗它们的连续 channel 写入太多。

Julia 应该对 parallel computing 有很好的支持

关于database - 获取并保存到数据库——时间与内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51114948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com