python - 我应该在 Flask Web 应用程序初始化时加载整个数据库吗?

标签 python flask

我正在使用 Flask 开发网络应用程序。我有 2 种方法来返回用户请求的页面。

  1. 从数据库中加载请求数据然后返回。
  2. 在初始化时将整个数据库加载到 python 字典变量中,并在请求时返回相关页面。 (整个数据库不会太大)

我很好奇哪种方法会有更好的性能?

最佳答案

当然从内存中的缓存中获取数据会更快。但是您必须确保数据量不会变得太大,并且每次更新数据库时都会更新缓存。根据您的确切目标,您可以选择 python dict、缓存(如 memcached)或其他东西,例如 tries。

为此还有一种“中间”方式。您可以在内存中存储的不是数据库中的全部记录,而是请求中的搜索参数与数据库中记录的 ID 之间的对应关系。这样用户发出一个请求,你就可以快速查看需要记录的id,然后通过id查询你的数据库,速度还是很快的。

关于python - 我应该在 Flask Web 应用程序初始化时加载整个数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23317286/

相关文章:

python - Django:没有名为设置的模块

python - 从特定位置提取数据,无论空格如何

python - 可以将计算放在 for 循环的主体中吗?

python - Pafy Youtube 网址错误

python - 在代码更改时自动重新加载 python Flask 应用程序

python - wxpython 应用程序中严重的内存泄漏

flask-login不能在Blueprint对象中使用?

python - authlib OAuth 客户端与 Flask 应用程序一起使用的更好示例?

machine-learning - Flask Web应用程序中的机器学习模型错误

python - 如何在不依赖其他软件的情况下为我的 Flask 应用程序与多个工作人员提供共享状态?