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

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

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

我研究了三天。

qq872167458 回答:烧瓶和减少mysql查询的最佳方法,也许是芹菜?

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

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

如果您的视图函数使用参数,请使用备忘录而不是缓存装饰器,以使缓存使用您的参数来生成缓存。例如,如果您要返回页面详细信息并且不使用备注,则无论参数中的id / slug如何,您都将为所有用户返回相同的页面详细信息。

Flask-Caching的文档比我解释的要好

本文链接:https://www.f2er.com/3161571.html

大家都在问