Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 内存不足_Ruby_Memory - Fatal编程技术网

Ruby 内存不足

Ruby 内存不足,ruby,memory,Ruby,Memory,我可能需要建立一个哈希表,它可能会变得非常大。我想知道哈希表是否不适合内存,解决这个问题的最佳方法是什么,以避免应用程序在内存不足时崩溃 用例:此哈希表包含一组id,这些id在for循环中被引用,该循环需要查询特定单词的id。如果您真的认为哈希会变得如此之大,那么您可能不应该将此数据存储在ram中的哈希中。我认为当你的应用程序内存不足时,你很难避免崩溃。我想关键是创建机制以避免大量内存消耗 我不知道你的情况,但我真的怀疑你描述的哈希表是否会让一台合理的计算机内存不足。如果你真的这么认为,也许你应

我可能需要建立一个哈希表,它可能会变得非常大。我想知道哈希表是否不适合内存,解决这个问题的最佳方法是什么,以避免应用程序在内存不足时崩溃


用例:此哈希表包含一组id,这些id在for循环中被引用,该循环需要查询特定单词的id。

如果您真的认为哈希会变得如此之大,那么您可能不应该将此数据存储在ram中的哈希中。我认为当你的应用程序内存不足时,你很难避免崩溃。我想关键是创建机制以避免大量内存消耗


我不知道你的情况,但我真的怀疑你描述的哈希表是否会让一台合理的计算机内存不足。如果你真的这么认为,也许你应该使用键值存储数据库(Redis相当容易学习)或其他类型的NoSQL数据库。

任何时候,如果你有无法在运行中轻松重新创建的数据,那么你需要制定规定,将其从RAM中取出并放到磁盘上。任何类型的数据存储都可以做到这一点。您可以使用平面文件、文本文件或YAML文件

如果您需要快速访问,那么您将查看某种类型的数据库,因为读取平面/文本文件不容易允许随机访问。SQLLite可以做到这一点,也可以使用无sql数据库


如果您需要允许多个进程访问数据并具有良好的访问限制,和/或将数据存储在一台计算机上并从另一台计算机访问数据,那么您将查看某种类型的数据库。在这一点上,我会研究MySQL或Postgres。我更喜欢后者,但两者都会起作用。

你说的“非常大”是什么意思?我认为这类问题确实需要非常大的规模。你确定这会成为一个问题吗?是的,我只是在假设,如果是这样的话,你会怎么做。。或者说还有其他结构也占用了大量内存。