我可以通过跨多个 Flask 请求共享请求会话来提高系统性能吗?

我查看了 this answer,它显示了在对同一主机的多个网络调用之间共享 Session 反对意见的性能改进。但是,这是否适用于跨多个客户端请求将 Session 作为 flask 单例共享?

例如,假设我有一个名为 /wiki/stats/<name> 的端点,它将使用给定的 <name> 参数返回维基百科文章的一些统计信息。在 flask 中,这可能是这样的:

@app.route('/wiki/stats/<name>')
get_wiki_stats_route(name):
    with requests.Session() as s:
        response = session.get(f"https://www.wikipedia.org/wiki/{name}")
    # Process response and return stats

但是,在上述情况下,每次收到对 /wiki/stats/<name> 的新请求时,都会使用新的连接池创建一个新的会话对象。

有没有办法共享会话,将其作为单一依赖项传递给路由,例如:

@app.route('/wiki/stats/<name>')
get_wiki_stats_route(name,session):
    with session as s:
        response = session.get(f"https://www.wikipedia.org/wiki/{name}")
    # Process response and return stats

这个 session 对象能否在多个客户端请求之间共享?假设这些请求来自同一台服务器。在具有多个无状态 flask 实例的云配置中,是否至少可以为每个服务器实例共享会话?

sonyjkjkjk 回答:我可以通过跨多个 Flask 请求共享请求会话来提高系统性能吗?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2146.html

大家都在问