gpt4 book ai didi

numpy - 寻求不同用户跨 session 在 Flask 应用程序中使用全局数据的帮助

转载 作者:行者123 更新时间:2023-12-03 16:11:40 25 4
gpt4 key购买 nike

我正在开发一个服务于数据密集型页面的 Flask 应用程序。我想在整个应用程序中共同存储几个数据 block ,我预计许多用户将需要这些数据。因此,当我第一次启动 flask 应用程序时,我希望实例化一些全局数据对象——一种内存中管理的数据库,比如 numpy 对象。有没有办法做到这一点?谢谢你。

最佳答案

我不确定是否可以使用 vanilla Flask 尝试缓存在应用程序级别全局保存的数据 block 。此外,即使您可以这样做,我也不确定这是不是个好主意。

这就是我认为不应该这样做的原因:当您将每个请求都存储在其自己的“沙箱”中时,您就知道在发出请求时,它将访问该请求沙箱中的数据。但是,如果您将“沙箱”设置为全局的并且每个人 都可以访问,那么就没有办法真正控制对沙箱的访问。您很容易遇到并发访问问题。然后你必须设计一个排队过程来确保一次只有一个请求访问全局沙箱。您可能必须扩展内置对象以包含锁(再一次,必须在多重访问的世界中处理数据安全/完整性)。

另请记住,Flask global g 不是解决此问题的方法。 Flask g 有点用词不当。它实际上并未应用于 全局应用程序上下文。换句话说,它并不是所有访问该应用程序的用户都可以访问 g 的级别。相反,g请求级别 被重写。换句话说,它仍然可以在请求级别访问(并且可以被覆盖/修改)。查看this SO post获取更多信息。


编辑:如果您真的需要它,我认为使用 werkzeug 提供的简单缓存就足够了。检查docs供使用。

关于numpy - 寻求不同用户跨 session 在 Flask 应用程序中使用全局数据的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35672170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com