如何使用非常大的Ruby哈希减少内存使用量?

Dav*_*idL 2 ruby memory hash

我有一个包含一百万个条目的文本文件.每个条目基本上是几个平均20个单词的句子.

为了完成一些任务,我将所有单词加载到哈希中.每个单词都是一个键,值将是它在文本中出现的次数.

我的问题是,在将它们加载到哈希中时,我的内存不足.我在一台只有1 GB RAM的机器上.有没有办法减少内存使用?或者我应该使用Ruby散列以外的东西.

Tod*_*obs 5

避免大型内存数据结构

根据定义,内存数据结构使用内存.如果您受内存限制,请考虑使用数据库或可搜索的磁盘文件来满足您的存储需求.

一些选择

您可能希望查看SQLite3,Redis或某种键/值存储.无论你如何使用,我们的想法是交换磁盘I/O以便消耗内存.