你好,我有一个应用程序,有自动完成的建议,为用户根据输入在搜索栏。
我使用了一个名为自动完成的包,它工作得很好,但是我遇到了一个问题,每次我想要使用预测时,我都必须加载50 mad的JSON数据,这是我想要自动完成的(500 K记录)。在服务器端加载时,除了自动完成功能之外,解析和发回数据的速度非常慢。它还不到一秒钟,现在(在本地测试)它需要几秒钟。
检查这个问题,似乎要花很多时间为每个请求加载50 to的JSON。每次出现新的请求时,加载数据和构建自动完成对象都是浪费时间。
为此,我想知道是否有一种方法可以使对象始终处于活动状态,并且当新的HTTP请求出现时,JSON已经被加载。亚马逊( Amazon )、Ebay、谷歌( Google )等大型网站的自动完成速度有多快?
发布于 2020-09-28 00:14:28
如果我正确理解,您将为每个请求加载数据,尽管每个用户的数据保持不变。为什么不缓存这些数据呢?还是将其存储在请求处理程序的作用域之外?
auto_complete_data = open("...").read()
@route('/autocomplete')
def autocomplete():
# keep reusing the `auto_complete_data`https://stackoverflow.com/questions/64094399
复制相似问题