我正在使用 Flask 开发网络应用程序。我有 2 种方法来返回用户请求的页面。
- 从数据库中加载请求数据然后返回。
- 在初始化时将整个数据库加载到 python 字典变量中,并在请求时返回相关页面。 (整个数据库不会太大)
我很好奇哪种方法会有更好的性能?
请您参考如下方法:
当然从内存中的缓存中获取数据会更快。但是您必须确保数据量不会变得太大,并且每次更新数据库时都会更新缓存。根据您的确切目标,您可以选择 python dict、缓存(如 memcached)或其他东西,例如 tries。
为此还有一种“中间”方式。您可以在内存中存储的不是数据库中的全部记录,而是请求中的搜索参数与数据库中记录的 ID 之间的对应关系。这样用户发出一个请求,你就可以快速查看需要记录的id,然后通过id查询你的数据库,速度还是很快的。
