我正在编写一些代码,它从网站上抓取一些数据,然后从该网站中提取某些关键信息并将其存储在一个对象中。我每天创建几百个这样的对象,每个都来自唯一的 url。这工作得很好,但是,我对 Python 中哪些选项可用于持久性以及最适合我的需要的选项缺乏经验。
目前我正在使用泡菜。为此,我保留所有这些网页对象,并在创建新对象时将它们附加到列表中,然后将该列表保存到泡菜中(然后在要更新列表时重新加载它)。但是,由于我的数据量大约为 GB,我发现 pickle 有点慢。这并非不可行,但我想知道是否有更合适的替代方案。我真的不想分解对象的结构并将其存储在 sql 类型的数据库中,因为将方法和数据保存为单个对象对我来说很重要。
搁置是我一直在研究的一个选项,因为我的印象是我不必解开和腌制所有旧条目(只是需要更新的最近一天),但我不确定这是否是搁置工作,以及它有多快。
所以为了避免漫无边际,我的问题是:存储大量对象(所有相同类型)的首选持久性方法是什么,以随着集合的增长保持读/写速度?