Python设置占用了太多内存

Python设置占用了太多内存,python,database,memory,set,pickle,Python,Database,Memory,Set,Pickle,我需要一种方法来存储10亿(或更多)相当大的数字,这样就可以相对快速地检查一个元素是否存在于这10亿个数字的集合中,但是一旦我的Python集合的大小增加到大约1000万个条目,我的程序就可以正常运行了 我曾尝试将此集合拆分为较小的集合,但在处理任何可感知大小的集合时,不断保存/加载不同集合(使用cPickle)的速度太慢 我还研究了数据库,但大多数数据库中的成员资格测试似乎比本地Python集慢得多。此外,我并不需要数据库提供的额外负担,也就是说,我只是在构建一个非常大的集合——我不需要为每个

我需要一种方法来存储10亿(或更多)相当大的数字,这样就可以相对快速地检查一个元素是否存在于这10亿个数字的集合中,但是一旦我的Python集合的大小增加到大约1000万个条目,我的程序就可以正常运行了

我曾尝试将此集合拆分为较小的集合,但在处理任何可感知大小的集合时,不断保存/加载不同集合(使用cPickle)的速度太慢

我还研究了数据库,但大多数数据库中的成员资格测试似乎比本地Python集慢得多。此外,我并不需要数据库提供的额外负担,也就是说,我只是在构建一个非常大的集合——我不需要为每个条目或任何其他奇特的功能创建多个数据字段


有没有什么好办法可以通过尽可能快的会员资格测试来存储大量的数字?或者是否有任何数据库(最好是易于用Python实现的数据库)非常适合此任务?或者有没有比cPickle更快的存储/检索Python对象的方法?

尝试将数据存储到json文件中:查看我推荐给任何有类似问题的人的。即使收集了大量物品,速度也非常快