首页 > 解决方案 > 使用动态加载的持久数据的 Python REST API

问题描述

我尝试在 Python 中构建一个 REST API,它依赖于在内存中动态加载和处理的大数据。数据加载到 Pandas DataFrames 中,但我的问题并非特定于 Pandas,我可能需要其他数据结构。

在向 API 发出请求后,我想加载有用的数据(例如,从磁盘或数据库中读取)并将其保存在内存中,因为应该遵循依赖相同数据的其他请求。一段时间后,我需要删除数据以节省内存。

在实践中,我想在内存中保留一个 Pandas DataFrames 列表。列表中的 DataFrames 将是满足最新请求所需的 DataFrames。一些 DataFrame 可能非常大(例如,几 GB),所以我认为每次都从数据库中检索它们而没有很大的开销。这就是为什么我想将它们保存在内存中以备下一个请求。

当 API 依赖于单个固定的 DataFrame 时,我开始使用 Flask。但是现在我找不到一种方法来动态加载新的 DataFrame 并使它们在多个请求中持久存在。必要时应在请求中触发新 DataFrame 的加载,并且新 DataFrame 应可用于以下请求。我不知道如何使用 Flask 或任何其他框架来实现这一点。

标签: pythonrest

解决方案


推荐阅读