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