python - Python中的内存错误解决方案

标签 python memory-management

我正在用包含大字符串值的字典加载很多对象。总体而言,该程序超过 2GB 并崩溃。它并没有超过太多,但我以后可能会有更大的数据。

看来 Python 32 位无法访问更多内存。我想 future 我需要一些能够处理大数据并且仍然不会太慢的对象数据库系统(即存储在数据库或硬盘中,但为了速度而在内存中保留一些)。为了性能,我不想只将数据保留在 MySQL 中,而是希望有一些透明的机制尽可能多地保留在内存中。

你能想出一个好的方法来处理对象中的这么多数据吗?

最佳答案

根据你的数据结构有多复杂,看看这些:

memcached

键值存储,该死的快('O(1) 一切'),扩展到许多机器,用于缓存(不是持久的)。有持久化和加载数据的解决方案,甚至 memcachedb .

mongoDB

JSON 存储,可以有主键以外的索引,可扩展到多台机器,具有自动分片和自动故障转移,持久。支持非常快速的插入、原子操作、一种用于复杂查询的内置 map-reduce。

redis

键值存储,值可以结构化。有许多高级操作、原子操作、发布/订阅、主从复制。完全在 RAM 中运行,但具有有限的持久性机制。

考虑重新制定问题的标题,例如“选择什么内存数据库”这样的内容会提供更多信息。

关于python - Python中的内存错误解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9888977/

相关文章:

python - 基于条件时间序列添加列 pandas 系列

python - 我们如何使用合并操作后找到的数据更新相似列的行中的列数据?

c++ - (C++) 当函数完成时分配在堆栈上的数组发生了什么?

c++ - 可扩展的内存分配器体验

python - 通过更新其他组件更改 Dash 组件的可见性

python - Maya 的 python 模块的 Eclipse 环境

python - Python 中的运行时错误

apache-spark - Spark中执行程序和任务的内存分配

ios - 在 UIWebView 中加载本地(Office 和 iWork)文件时控制内存峰值

.net - 限制 .Net CLR 内存使用