Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
Python:在内存中缓存251mb哈希_Python_Django_Caching_Hash_Python 3.5 - Fatal编程技术网

Python:在内存中缓存251mb哈希

Python:在内存中缓存251mb哈希,python,django,caching,hash,python-3.5,Python,Django,Caching,Hash,Python 3.5,我正在使用django构建一个webapp,我处理大约一百万行的大型excel文件,并将这些文件解析为散列,以实现更快的计算和操作。我想缓存散列,但是散列的大小是251mb,我认为memcache不允许缓存这么大的变量。有人对我应该如何处理这件事有什么建议吗?我对缓存以外的其他方式也持开放态度。如果您没有与memcached结婚,Redis的每个密钥的最大值大小为2GB。只要您使用的是Django的内置缓存层,那么在设置Redis服务器并重新配置缓存设置之后,它就是一个替代品 另请参见:将Exc

我正在使用django构建一个webapp,我处理大约一百万行的大型excel文件,并将这些文件解析为散列,以实现更快的计算和操作。我想缓存散列,但是散列的大小是251mb,我认为memcache不允许缓存这么大的变量。有人对我应该如何处理这件事有什么建议吗?我对缓存以外的其他方式也持开放态度。

如果您没有与memcached结婚,Redis的每个密钥的最大值大小为2GB。只要您使用的是Django的内置缓存层,那么在设置Redis服务器并重新配置缓存设置之后,它就是一个替代品


另请参见:

将Excel文件解析为散列以加快计算和操作?你能再多说一点吗?@Elmex80s我有一大堆函数要在数据上运行,需要快速查找才能执行。我有company_id和parent_id列,我可能需要查找具有相同parent_id的所有company_id,并查看“所有companys”中的某些列是否匹配等等。我会在excel文件的每一行上运行这些函数。听起来很有趣,但为什么不使用xlrd模块或pandas包将excel文件加载到内存中呢?xlrd模块将为您提供简单的列表,其中包含您可以重塑自己的值。pandas包将为您提供DataFrames,这是一种非常强大的数据结构,可以处理像您这样的非常大的表。我不知道有什么神奇的Python模块可以为您完成所有工作。因此,我认为你必须自己编程。因此,您必须将临时数据存储在硬盘或内存中,并在每次请求时检查数据是否已经存在。接下来,您必须处理临时数据的限制。我想说,您最多存储1000个中间结果。关于散列,如果你的100 MB文件给你一个+250 MB的文件散列,那么你应该改变一些事情。为什么我的散列是xlsx文件大小的两倍我不知道,对不起。