python - 将大文件加载到 Flask 中

标签 python flask redis memcached

<分区>

我正在编写一个供我个人使用的“网络应用程序”,打算用我自己的计算机作为服务器运行。它基本上是一个很好的数据可视化界面。这个应用程序需要用 Python 操作大型矩阵(大约 100MB),并将计算结果返回给浏览器以进行可视化。目前我只是将数据存储在一个 csv 文件中,并在每次我想使用它时将其加载到 pandas 中,但这非常慢(大约 15 秒)。有没有办法让这个对象(pandas.DataFrame)持久保存在内存中,或者这没有意义?

我试过 memcached,但我认为它不适合放在这里。我也尝试过使用 Redis,但是如果我将每个矩阵行存储在它自己的键下,并且如果我将它全部存储在同一个键下的字符串中,然后从该字符串重建数组,那么从缓存中读取实际上与读取文件的速度相同就像从 csv 文件中读取它一样慢。所以无论哪种方式都没有收获。

最佳答案

考虑到该应用程序应该在您的计算机上运行,​​您可以尝试 2 个选项:

  1. 使用 Werkzeug 的 FileStorage 数据结构 http://werkzeug.pocoo.org/docs/0.11/datastructures/#werkzeug.datastructures.FileStorage
  2. 让 SQLite 在某种 RAM 文件系统中运行。这也将允许更快地更改数据。

关于python - 将大文件加载到 Flask 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37421889/

相关文章:

python - uwsgi下运行的单元测试Flask应用

batch-file - 从远程批处理文件刷新 Redis 数据库

c# - NHibernate:跨多个实例的全局缓存

node.js - 使用 Node “运行”Redis

python - Qt/QSql查询 : Binary data is interpreted as string when binding to BLOB field

python - 使用 flask 获取输入文件名和文件扩展名

python - "iter(lambda : object() > object(), object())"是什么意思

android - 考虑移动设备设计 Flask 应用程序?

python - 在 Python 中截断为小数点后三位

python - 将对象追加到数组时出现意外输出