Flask和减少mysql查询的最佳方法,也许是芹菜



在我研究了三天并玩了redis和芹菜之后,我不再确定什么是解决我问题的正确方法。

这是一个简单的问题。我有一个简单的flask应用程序,返回mysql查询的数据。但我不想查询数据库中的每个请求,因为一秒钟内可能有100个请求。我想设置一个守护进程,每五秒钟独立查询一次我的数据库,如果有人提出请求,它应该返回上一个请求的数据,当这五秒钟过去时,它将返回最新查询的数据。所有用户都收到相同的数据。CELERY是解决方案吗?

我研究了三天。

最简单的方法是使用Flask Caching]

只需在视图上设置5秒的缓存超时,它就会返回一个缓存的视图响应,其中包含第一次查询的结果以及接下来5秒内所有其他查询的结果。当时间结束时,第一个请求将通过执行查询和视图的所有流来重新生成缓存。

如果视图函数使用参数,请使用内存化而不是缓存装饰器,让缓存使用参数来生成缓存。例如,如果您想返回页面详细信息,并且不使用记忆,那么无论参数中的id/slug如何,您都会为所有用户返回相同的页面详细信息。

Flask Caching的文档比我更好地解释了一切

相关内容

  • 没有找到相关文章

最新更新