我可能需要构建一个哈希表,它的大小可能会变得非常大。我想知道哈希表是否不适合内存,解决此问题的最佳方法是什么,以避免应用程序在内存不足时崩溃。
用例:此哈希表包含一堆在需要查询特定单词的 id 的 for 循环中引用的 id。
最佳答案
任何时候当您的数据无法轻易地即时重新创建时,您就需要做好准备,将其从 RAM 中取出并放到磁盘上。任何类型的数据存储都可以做到这一点。您可以使用平面文件或文本文件,或 YAML 文件。
如果您需要快速访问,那么您将查看某种数据库,因为读取平面/文本文件不容易允许随机访问。 SQLLite 或非 SQL 数据库都可以做到。
如果您需要允许多个进程访问数据并具有良好的访问限制,和/或将数据存储在一台机器上并从另一台机器上访问它,那么您将需要查看某种数据库。那时我会研究 MySQL 或 Postgres。我更喜欢后者,但它们都可以。
关于ruby - RAM 内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844800/