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

时间:2014-04-26 22:43:16

标签: python flask

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

  1. 从数据库加载请求数据然后返回。
  2. 在初始化时将整个数据库加载到python词典变量中,并在请求时返回相关页面。 (整个数据库不是太大)
  3. 我很好奇哪种方法会有更好的表现?

1 个答案:

答案 0 :(得分:1)

当然,从存储在内存中的缓存中获取数据会更快。但是你必须确保数据量不会太大,并且每次更新数据库时都要更新缓存。根据您的确切目标,您可以选择python dict,cache(如memcached)或其他内容,例如尝试。

这也是一种“中间”方式。您可以在内存中存储不是来自数据库的整个记录​​,而只是请求中的搜索参数与数据库中记录的ID之间的对应关系。这样用户发出请求,您可以快速检查所需记录的ID,并通过id查询数据库,这非常快。